Modeling of experimental data with interactive graphics - Analytical

Laboratory Automation & Information Management 1996 32 (2-3), 71-85. Effect of the Alkali-Metal Cations On the Protonation Constants of Myo-Inositol ...
1 downloads 0 Views 618KB Size
900

Anal. Chem. 1983, 55, 900-904

ACKNOWLEDGMENT The authors wish to thank E. Ahland and E. A. Ratajczak for supplying them with the condensates. Registry No. Dibenzofuran, 132-64-9;fluorene, 86-73-7; 2methylfluorene, 1430-97-3; l-methylfluorene, 1730-37-6; dibenzo[[b,d]thiophene, 132-65-0;phenanthrene, 85-01-8; anthracene, 120-12-7; l-phenylnaphthalene, 605-02-7; 3-methylphenanthrene, 832-71-3; 2-methylphenanthrene, 2531-84-2; 2methylanthracene, 613-12-7;4,5-methylenephenanthrene,203-64-5; 4methylphenanthrene, 832-64-4;9-methylphenanthrene,883-20-5; l-methylphenanthrene, 832-69-9; acephenanthrylene, 201-06-9; dimethylphenanthrene, 29062-98-4;1,7-dimethylphenanthrene, 483-87-4; 3,6-dimethylphenanthrene,1576-67-6; fluoranthene, 206-44-0;pyrene, 129-00-0;benzo[b]naphtho[2,1-d]furan,239-30-5; benzo[b]naptho[2,3-d]furan,243-42-5; 2-methylfluoranthene, 33543-31-6;2-methylpyrene, 3442-78-2;benzofluorene, 61089-87-0; 4-methylpyrene, 3353-12-6; l-methylpyrene, 2381-21-7; benzo[b]naphtho[2,1-d]thiophene,239-35-0; benzo[b]naphtho[ 1,2-d]thiophene, 205-43-6; benzo[ghi]fluoranthene, 203-12-3; benzo[clphenanthrene, 195-19-7; benzo[b]naphtho[2,3-d]thiophene, 243-46-9; cyclopenta[cd]pyrene, 27208-37-3; benz[a]anthracene, 56-55-3; chrysene, 218-01-9; triphenylene, 217-59-4; 3-methylchrysene, 3351-31-3; 2-methylchrysene, 3351-32-4; 5-methylchrysene, 3697-24-3; 4-methylchrysene, 3351-30-2; 6-methylchrysene, 1705-85-7; l-methylchrysene, 3351-28-8; benzo[b]fluoranthene, 205-99-2; benzo~lfluoranthene,205-82-3; benzo[k]fluoranthene, 207-08-9; benzo[a]fluoranthene, 203-33-8; benzo[e]pyrene,192-97-2;benzo[a]pyrene,50-32-8; perylene, 198-55-0; dibenz[aj]anthracene, 224-41-9; indeno[1,2,3-~d]fluoranthene, 193-43-1;indeno[l,2,3-cd]pyrene, 193-39-5;dibenz[a,h]anthracene, 53-70-3; dibenz[a,c]anthracene, 215-58-7; benzo[b]chrysene, 214-17-5; picene, 213-46-7; benzo[ghi]perylene, 191-24-2; methylpicene, 30283-95-5; 1,2,9-trimethyl-1,2,3,4-tetrahydropicene,

1242-77-9; 2,2,9-trimethyl-1,2,3,4-tetrahydropicene, 1242-76-8; dibenoz[b,e]fluoranthene,2997-45-7; coronene, 191-07-1; naptho[ 1,2,3,4-deflchrysene,192-65-4;dibenzoLfg,op]tetracene,19251-8; benzo[rst]pentaphene, 189-55-9.

LITERATURE CITED (1) Jarollm, V.; Heino, K.; Hemmert, F.; Sorm, F. Collect. Czech. Chem. Commun. 1985, 30, 873. (2) Imuta, K.; Ouchl, K. " y o Kyokalshll987, 46, 889. (3) Golovanow, N. G.; Borisoglebskii, V. V. Khim. Tverd. Top/. (Lenlngrad) 1988, 163. (4) Yoshll, T.; Yoshimura, F. " y o Kyokalshi 1970, 49, 614. ( 5 ) Imuta, K.; Ouchl, K.; Kurihara, K. " y o Klokaishl 1971, 50, 880. (6) Lao, R. C.; Thomas, R. S., Oja, H.; Dubols, L. Anal. Chem. 1973, 45, 908. (7) Berichte 1/79 des Umweltbundesamtes "Luftqualitatskriterien fur ausgewdhlte polyzykllsche aromatische Kohlenwasserstoffe"; Erlch Schmidt Verlag: Berlin, 1979; Umweltbundesamt ed., pp 150-219. (8) Ratajczak, E. A.; Ahland, E.; Grimmer, G.; Dettbarn, G. &do/ Kohle, Erdgas, Petrochem. 1982, 35, 530. (9) Grlmmer, G.; Hlldebrandt, A.; Bohnke, H. I n "Envlronmental Carcinogens Selected Methods of Analysis"; IARC: Lyon, 1979; Publication NO. 29. VOl. 3. DD. 141-150. (10) Grimmer, G.; 'ciujack, K.-W.; Schnelder, D. Fresenlus' 2. Anal. Chem. 1982. 311. 475. (11) Grlmmer, G.;'Jacob, J.; Naujack, K.-W. Fresenlus' Z . Anal. Chem. 1981, 306, 347. (12) Laflamme, R. E.; Hites, R. A. Geochim. Cosmocbim. Acta 1979, 4 3 , 1687. (13) Carruthers, W.; Watkins, D. J. Chem. SOC. 1964, 724. (14) Carruthers, W.; Cook, J. W. J. Chem. SOC. 1954, 2047. (15) See ref 9, pp 55-61.

RECEIVED for review September 23,1982. Accepted January 3, 1982. The present studies were carried out in accordance with the environmental plan of the Federal Environment Agency by the order of the Federal Ministry of the Interior and the European Communities.

Modeling of Experimental Data with Interactive Graphics David J. Balaban, Julia L. Wang, and Jack W. Frazer" Lawrence Livermore National Laboratory, P.O. Box 808 L-3 11, Livermore, California 94550

An Important aspect of modern chemical experimentation which Is frequently overlooked Is the rapid anaiysls of measured data. Computer programs used to perform this task are off en laborious and nonlnteractive maklng the analysls process very painful and rigld. A good deal of reprogramming must be done to accommodate new models and analyze data sets. DMODEL Is a program whlch provides the experlmenter wlth flexlbie, highly interactive graphical data analysis tools. The program le extremely flexible and requires no reprogramming when new models are used. Models are entered Into the program by typlng them as Input lines. Linear least-squares curve fitting can be easily carrled out as can general Interactive and exploratory data analysis.

The inevitable follow-up to almost any experiment is some form of data analysis. The analysis frequently involves fitting some type of curve (equation) to the measured data obtained from the experiment. Even if no explicit curve fitting is done, the general idea of most analyses of experimental data sets 'Present address: Keithley Instruments, Inc., 28775 Aurora Road, Cleveland, Ohio 44139.

is to graphically compare some kind of model to the measured data so that a relevant parameter of the experiment can be deduced. When the analysis is done on a computer, usually some custom software must be written. This paper describes a program which is a general interactive tool designed to provide graphical representations of the experimental data set and results of data analyses. The formulas for the models used to fit the experimental data do not have to be coded as subroutines which must be linked to the main program. The model equations may be entered as input data to the program. Thus the scientist need not know any computer language in order to run the program.

THEORY This program is called DMODEL. I t was originally written to support research concerned with the characterization and control of complex systems (1-7). Although it was an independent development, it is functionally a subset of a more general program called DATAPLOT (8)which was developed by the National Bureau of Standards. DATAPLOT is an excellent program with only one major drawback; it is extremely big. DATAPLOT will only run on large IBM, CDC, and VAX machines. This is a real drawback for scientists with minicomputers. DMODEL, however, is usable on minicomputers. Specifically DMODEL was written in FORTRAN and MACRO

0003-2700/83/0355-0900$01.50/00 1983 American Chemical Society

ANALYTICAL CHEMISTRY, VOL. 55, NO. 6, MAY 1983

on a PDP11/46 computer. It will run on any P D P l l or LSIll computer (the program can be obtained by contacting the authors at LLNL). DMODEL is based on two major building blocks which account for the generality of the program. The first is an interpretive function definition and evaluation block. This allows the useir to define model equations interactively and later use them in computations. The second block is a very versatile library of graphical routines. This graphics library allows DMODEL to uae a wide variety of graphical devices. So far the library handles the following devices: the Tektronix 4010, 4025, and 4027, Digital Equipment GT44, GIGI, and Lexidata 8000 (9). There are three main tasks that DMODEL is designed to carry out. First, the user can define, evaluate, and graph many real valued functions including nonlinear functions. Second, files of data can be read and plotted on a user selected device. Finally, the user may perform linear least-squares curve fitting on data read from a file. Linear least-squares curve fitting does not mean that only straight lines will be used for fitting. Any function in which the parameters appear in a linear manner can be used for fitting. Functions which are linear in their parameters will be defined in detail later.

RIESULTS AND DISCUSSION Commands to DMODEL are given by typing in command lines. A command line must start with a keyword. An abbreviated form of the keyword may be used instead of the entire keywordl. The first three characters of the keyword comprise its abbreviated form. After the keyword the command line may be terminated by hitting carriage return in which case the user will be prompted for the remainder of the command line. If more rapid interaction is required then the complete command line may be typed in at once. Since the command line must be parsed, a number of errors may be detected. There are seven key words in DMODEL. 1. DATA: Reads a user specified data file and plots it on the screen. 2. DEFINE Defines a function and saves it. 3. MODEL Plots the user defined function on the screen. 4. REDRAW: Erases the display and replots the data. 5. LSQFIT: Does linear least-squares fit on data. 6. SELECT Selects graphical output device. 7. DONE: Exits DMODEL. The use and idescriptions of these seven key commands are as follows: Key Word DATA. Its function is to read the desired data file and plot the data on the screen. The user will be prompted to enter the name of the file which contains the data. After a valid file name has been entered the data will be read in from the appropriate peripheral. As the data are read in, the maximum and minimum x and y values are determined. These values are used to scale the x and y axes. Thus when data read in from a file are plotted, the scales are determined automatically. The data files which are read in must be of a specific structure. The flirst line of the data file must contain the total number of (x,y) pairs in the file. Each following line should contain two numbers, separated by a comma. The first number representing the total number of pairs is assumed to be an integer. The remaining numbers are floating point numbers but need not contain decimal points. No specific format is assumed for the real numbers. For example, data files might contain: 3 3.3, 1.8 -2.0, 67.5 5.1, -2.OE2

901

Key Word: DEFINE. It is used to define a function and save it. This routine will check the function definition entered by the operator and then print out FUNCTION SAVEID or an error message. The DEFINE command relieves the user of having to write and compile a separate subroutine for every function wlhich is to be graphed. Functions are defined just as they would be in a FORTRAN program. Many functions can be defined during a session and a function may be defined in terms of any other functions which have been defined previously. Functions may also be defiied by using constants. A constant is considered to be a function with airity zero where airity is the number of independent variables. It is defined as any constant would be in FORTRAN. With these capabilities very complex functions can be built up safely and reliably. A number of predefined functions are available for use with the DEFINE command. Functions may be defined by using the absolute value, ABS, and square root function, SQRT. Standard trigonometric and inverse trigonometric functions are available: SIN, COS, TAN, ARCSIN, ARCCOS, and ARCTAN. A few standard transcendental functions are also available: EXP, LOG, LOG10. Random numbers may be generated with the RAN function. Finally, discontinuous functions may be defined by using the IFNEG function. The IFNEG function has the following syntax: IFNEG(x,y,z), returns y if x is negative otherwise it returns z. Since the DEFINE function must perform all the parsiing functions normally performed by the compiler and all of the loading and storing functions normally performed by the linker, there are a large number of errors which can be detected. These errors are printed out as numbers but are CROSS referenced to English error messages. Key Word: MODEL. Its purpose is to plot the user-defined function on the screen. This routine checks whether or not the entered function name has been defined. If not, an error message will be given. If a function has been previously entered, the routine will check whether a data file has been plotted. If not, the routine will ask the user to define the range over which the function is to be plotted by entering the minimum x and maximum x values. Then the y values corresponding to a set of x values lying between the minimum and maximum x values will be computed. From this set of y values the minimum and maximum y values will be computed and these extreme values used to scale the y axis. The graph will then be plotted with the x axis scaled by the x minimum and maximum and the y axis autoscaled to fit the function on the plot. If a data file has been plotted, the routine will use the scaling defined by the data to draw the function. In this case the function will be clipped if necessary. Key Word: REDRAW. Its function is to erase the screen display and replot the data. The REDRAW command will first check to see if a data file has been specified. If a data file is not available, an error message will be printed. Otherwise the routine will erase the display and replot the data from the file. Key Word: LSQFIT. Its function is to compute a linear least-squares fit to the user specified data set. When doing least-squares curve fitting the user must have two things: (1)a data set to which a function will be fitted and (2) a model function. Let (x,, y,), i = 1,2, ..., n, represent the data set. Let f ( x ; a ) represent the model function which depends on x and a number of parameters represented by the vector a = (al, a2, ..., For example a cubic polynomial would be represented as f(z;a) = a, + azx + a3x2+ u p 3 where a = (al,u2,u3,a4)T. Similarly a truncated Fourier series might be represented as f ( x ; a )= al + azSIN(x) + a3SIN(2x) where a = (a1, a29 4.

902

ANALYTICAL CHEMISTRY, VOL. 55, NO. 6, MAY 1983

In both of the above examples the parameters a,, a2, ..., ak enter linearly in the function. Strictly speaking this means that

USER

DEFINED F U N C T I O N

2.0 1.5

f(x;aa + bB) = a f ( x ; a ) + bf(x;B)

(1) for any numbers a and b and any It vectors a and 8. Practically it means that f is the form

1.0 -5

k

f ( x ; a )= C aj4j(x) j=1

(2)

Thus for f t o be used for linear parameter estimation it must be expressible as a linear combination of smaller functions $ j ( x ) and the parameters off must be the scalers in the linear combination. Many functions fall into this class. All polynomials are in the class as are all truncated Fourier series. Linear combinations of exponentials are also in this class. An example of a function which is not in the class is f ( x ; a ) = ale-02x where a = (al,~ 2 ) ~This . function is said to be nonlinear in its parameters. The final point about doing linear least-squares fitting with DMODEL is that the user must enter only the individual 4 ] ( x ) functions in order to define the function to be fitted. For example the c#+) functions for the cubic polynomial would be

91(x) = 1, 42b) = I,43(3c) = x 2 , 44(x) = x3 (3) To do linear least-squares fitting the user should first use the command DATA to enter the desired data file and then use the command LSQFIT to do linear least-squares fitting of the defined equation to the data. This routine will ask the user to enter the number of 4 functions and the 4 functions themselves. The routine takes the specified data and 4 functions, does all necessary calculations, and finally draws the least-squares fitting curve on top of the data plot. The routine then asks the user whether he/she wants to have the coefficients and the sum of squares of residuals printed out. The routine then asks the user whether he/she wants to try another least-squares fit of the data to a different equation. Key Word: SELECT. This command selects the graphic output device. The SELECT command determines the graphics device which will be used for all subsequent graphical output. The SELECT command does not automatically redraw existing plots on the new device. If a graph is drawn on device n when device m is selected, then an explicit command like REDRAW or MODEL must be given for the plot to be put on device m. After the user types “SELECT (CR)” the program types a list of available graphic devices. The following is an example of such a list. GRAPHICS DEVICES AVAILABLE 1. GT44 2. 4025 3. LEXIDATA 4. PLOTTER TALL 5. PLOTTER LONG PLEASE ENTER DEVICE NUMBER [3] The user may enter the number of the device he wishes to use or he may accept the default device indicated by the number enclosed in brackets. If the device number is known without having to reference the list, then the command “SELECT n (CR)” may be given to select device n. No list will be printed out. Key Word: DONE. Its function is to exit DMODEL. This command terminates the program DMODEL. The following is an example of the use of DMODEL. The text in italic lettering is displayed on the terminal screen by the computer. The text in upper case lettering is entered by the

LL.

0 -.5 -1.0

-1.5 -2.0 I -2‘.0

I

I

I

I

-1.0

0

1.0

2.0

X

Figure 1. Graphical output for slmple function example.

user. This example shows how a user-defined function is generated and displayed on the CRT. SET /UIC= 200,12 (CR) RUN DMODEL (CR) Please enter desired command: DEFINE (CR) Please enter function definition: F(X) = A*COS(B*X)*EXP(-C*X**2) (CR) Function: F saved Please enter desired command: DEFINE A=2 (CR) Function: A saved Please enter desired command: DEF B=6 (CR) Function: B saved Please enter desired command: DEF C = l (CR) Function: C saved Please enter desired command: MODEL F (CR) Please enter minimum-X [O.OOOO]: -2. (CR) Please enter m a x i m u m - X [1.0000]: 2. (CR) (The function graph is plotted on the CRT screen) The plot of 2COS ( 6 ~ ) e - is ~ ’shown in Figure 1. Another example of the use of DMODEL shows how a user defined function is fit to a set of experimental data retained in a file named ENZY3.DAT. Please enter desired command: DATA ENZY3.DAT (CR) Please enter diagram title: ENZY3 DATA (CR) Number of data points = 17 Please enter X-axis label: TIME (CR) Please enter Y-axis label: VALUE (CR) (The data are read from the file and plotted on the screen) Please enter desired command: DEF G(X)=EXP(-K*X) (CR) Function: G saved Please enter desired command: DEF K=0.3 (CR) Function: K saved Please enter desired command: LSQFIT (CR) Enter number of phi functions [3]: 2 (CR) Enter p h i l ( X ) : p h i l ( X ) = 1 (CR) Function: phi1 saved Enter p h i 2 ( X ) : p h i 2 ( X ) = G(X) (CR) Function: phi2 saved (The least-squares fitting curve is plotted on top of the data diagram.) Print coefficients and s u m of squares of residuals [yes]: Y (CR) phi coefficient 1 42.1 7272 2 79.66508 SSQ 66.59029 T r y another least-squares f i t ? [yes]: NO (CR) Please enter desired command: DONE (CR)

ANALYTICAL CHEMISTRY, VOL. 55, NO. 6, MAY 1983

:I

USER

903

DEFINED FUNCTION

5-01 4.54

1

W

3 Q

-J >

I

G

3.0

2*51

A

2.0

I

0

5

I

I

10

15

1 20

1.040

I

1.0

Figure 2. Graphical output for least-squares curve fitting example.

20

DEFINED FUNCTION

1

/

15

u

-10 -15

+-

-20 -2.0

I

I

-1.0

0

I.I0

1

2.0

X

Flgure 3. Piece of composite function for final example.

T T 3 - - s t o p *end of dmodel* The function is shown in Figure 2. The third example combines several functions in order to create a signodial type curve which is often useful in fitting analytical data sets. The function is F ( x ) = a tan-' ( G ( x - b ) ) t C

I s , ( x t 1)- ( d , t s , ) / 2

x

(4)

< -1

s 2 ( x - 1) + ( s , t d , ) / 2 1 < x

where G(x) is two quadratics and two straight lines splined together. Where the constants are defined as follows: a = l b=2

c=3

s,=lO

I

3.0

I

4.0

X

TINE

USER

I

2.0

d,=3

s, = l O d , = 3

a plot of G(x) is shown in Figure 3 and a plot of F ( x ) is shown in Figure 4. The complete command sequence for generating these plots are listed below. Please enter desired command: DEFINE F(X) = A*ARCTAN(G(X - B)) + C (CR) Function: F saved Please enter desired command: DEF G(X) = IFNEG(X, H1(X), H2(X)) (CR) Function: G saved Please enter desired command: DEF Hl(X) = IFNEG(X + 1, L1(X + I), Q1(X)) (CR)

Figure 4. Complete composite function for final example.

Function: H1 saved Please enter desired command: DEF H2(X) = IFNEG(X - 1, Q2(X), L%(X- 1))(CR) Function: H2 saved Please enter desired command: DEF Ll(X) = Sl*X + Q1(-1)(CR) Function: L1 saved Please enter desired command: DEF L2(X) = S2*X + Q 2 0 ) (CR) Function: L2 saved Please enter desired command: DEF Ql(X) = (D1 S1)/2*X**2 + Dl*X (CR) Function: Q l saved Please enter desired command: DEF Q2(X) = (S2 D2)/2*X**2 t- D2*X (CR) Function: Q2 saved Please enter desired command: DEF A = 1 (CR) Function: A saved Please enter desired command: DEF B = 2 (CR) Function: l3 saved Please enter desired command: DEF C = 3 (CR) Function: C saved Please enter desired command: DEF S1 = 10 (CR) Function: SI saved Please enter desired command: DEF S2 = 10 (CR) Function: S2 saved Please enter desired command: DEF D1 = 3 (CR) Function: Ll1 saved Please enter desired command: DEF D2 = 3 (CR) Function: 112 saved Please enter desired command: MODEL G (CR) Please enter minimum-x [O.OOOO]: -2. (CR) Please enter maximum-x [2.0000]: 2. (CR) (The function graph, a combination of function H1 and €32, is plotted on the screen as shown in Figure 3.) Please enter desired command: MODEL F (CR) Please enter minimum-x [-2.0000]: 0. (CR) Please enter maximum-x [2.0000]: 4. (CR) The function F(x) = 1 t a d (G(x - 2)) 3 is shown in Figure 4. This final curve is the combination of all previous functions. By fitting different parameters and different mini-x and maxi-x, the user can work out the model required to represent his data.

+

CONCLUSION A research or development project is not complete with the accumulation of experimental data. Often analyses of the experimental data sets can be very time-consuming, particularly if the data are representative of multiple processes.

Anal. Chem. 1083, 55, 904-910

004

However, given the proper approach to software design and implementation, powerful analyses programs supported by interactive graphics displays can be designed to run on the minicomputers used in the laboratory or pilot plants for experimental control and data acquisition. One such program was described and three examples were presented. This program is currently being used on a routine basis to analyze data sets-from varied experiments ranging from chemistry to electrical engineering. The program can be run on any PDP-11 or LSI-11 with 32K of memory, a floppy disk, and a graphics terminal.

(9) Brand, Hal R. “DIGLIB”; Lawrence Llvermore National Laboratory, L311, Llvermore, CA.

RECEIVED for review October 12,1982. Accepted January 10, 1983. Work performed under the auspices of the U.S. Department of Energy by the Lawrence Livermore National Laboratory under Contract No. W-7405-ENG-48. This document was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government thereof, and shall not be used for advertising or product endorsement purposes.

LITERATURE CITED (1) Frazer, Jack W. Anal. Chem. 1980,52,1205A. (2) Frazer, Jack W.; Brand, Hal R. Anal. Chem. 1980, 52,1730-1738. (3) Frazer, Jack W.; Rigdon, Lester P.; Brand, Hal R.; Pomernacki, Charles L.; Brubaker, Thomas A. Anal. Chem. 1980, 57,1748-1754. (4) Frazer, Jack W.; Rlgdon, Lester P.; Brand, Hal R.; Pomernackl, Charles L. Anal. Chem. 1980, 51,1739-1747. (5) Frazer, Jack W. Am. Lab. (Falrfleld, Conn.) 1081, 13 (4), 60-78. (6) Herget, Charles J.: Pomernacki, Charles L.; Frazer, Jack W. Anal. Chlm. Acta Comp. Technlq. Optlmlz. 1980, 122,403-419. (7) Herget, Charles J.; Frazer, Jack W. “Incorporatlon of Chemical KinetIC Models Into Process Control”, to be submitted for publication. (8) DATAPLOT; National Technlcal Informatlon Service (NTIS), U S . Department of Commerce: Sprlngfleld, VA.

Simulation as an Aid to Experimental Design Jack W. Frazer,*‘ David J. Balaban, and Juila L. Wang Lawrence Llvermore National Laboratoty, P.O.

Box 808 L-3 11, Llvermore,

A slmulator of chemlcal reactlons can ald the sclentist In the design of experlmentatlon. They are of great value when studying enzymatlc klnetlc reactions. One such slmulator is a numerical ordinary differential equatlon solver which uses lnteractlve graphlcs to provlde the user wlth the capablilty to slmulate an extremely wlde range of enzyme reaction conditions for many types of slngle substrate reactions. The concentratlon vs. tlme profiles of any subset or all nlne states of a complex reaction can be dlsplayed wlth and without simulated Instrumental nolse. Thus the user can estlmate the practicality of any proposed experlmentatlon given known Instrumental noise. The experimenter can readily determine whlch state provldes the most lnformatlon related to the proposed kinetic parameters and mechanlsm. A general dlscusdon of the program lncludlng the nondlmensionallzatlon of the set of dlfferential equations Is Included. Flnaily, several slmuiatlon examples are shown and the results discussed.

In most laboratories experimentation and computer modeling are activities which are often treated as if they are unrelated. Experimentalists design experiments, take data, and analyze the data. People doing computer modeling run simulations to understand the behavior of chemical systems. When these scientific endeavors are conducted as independent activities, neither group can fully benefit from the intuition, experience, and results obtained by the other group. Present address: Keithley Instruments, Inc., 28775 Aurora Road, Cleveland, Ohio 44139.

California 94550

There are several reasons for this separation of effort. The primary reason is the outdated belief that the computers which are useful for doing automated data acquisition are too small to be used for complex data analysis and simulation. Recent computer hardware advances have produced computers that can perform equally well for data acquisition, complex analysis, and simulation. Here the point is not that everything should be done on the same machine, but that there is no longer any reason to consider the activities of computer modeling and experimentation to be independent of each other. Many types of scientific and engineering endeavors require computer-controlled execution of complex experiments. Two examples of such endeavors are research conducted in pilot plants and the automation of an existing manufacturing facility. Such projects can often be more easily accomplished when computer modeling in the form of simulation is conducted concurrently with the experimentation. This paper discusses the use of simulation as an aid to experimental design. Before discussing the specific example that will be used, a few important remarks are in order. Simulation and its application to experimental design are really only a small part of the much larger field of the automation of scientific research. It makes little sense to consider simulation independently of on-line use of instrumentation, control transducers, and computers for experimentation or independently of interactive graphics for complex data analysis. A written attempt to keep this idea in perspective continually would obscure the specific points of the paper, but the reader should keep the idea in mind while reading this paper. The example to be discussed is the design of experiments to elucidate the dynamics of a complex set of chemical re-

0003-2700/83/0355-0904$01.50/00 1983 Amerlcan Chemlcal Society