- - M A T H P L O T - - Version 2.2 graphics aided mathematics for data analysis J. H. McCrary 1708 Pomona Drive Las Cruces, N. M. 88001 505-522-0805 or 522-9327 May 1989 (C) J. H. McCrary (1989) mathplot Table of Contents page Introduction 1 Files on distribution disk 1 Starting MATHPLOT 2 Main menu 3 Hardcopies of graphics screens 3 Least squares 4 Simultaneous equations 8 Numerical integration 10 Matrix inversion 12 Fourier series 14 Bessel functions 17 Statistics 18 Data plots 21 Function plots 23 Data files 26 ___________________________________________________ MATHPLOT requires an IBM-PC/XT/AT (or compatible) computer with at least 256 kbytes of RAM, PC-DOS 2.0 or higher, an IBM CGA, EGA, VGA or MCGA graphics card (or compatible), or a Hercules Gra- phics Card (or compatible) with appropriate moni- tor. For printed output (text and graphics) an Epson MX, FX or LQ series (or compatible) printer is required. ___________________________________________________ i mathplot - - M A T H P L O T - - Introduction: MATHPLOT is a set of graphics aided programs desig- ned to help scientists and engineers analyze data. Rou- tines are included for least-squares fitting polynomials to sets of data points, solving simultaneous linear eq- uations, numerically integrating a curve defined by a set of data points, calculating simple statistical para- meters for data sets, and for calculating the coeffi- cients of a Fourier series for a periodic function de- scribed by a set of data points. Programs are also in- cluded for calculating and plotting Fourier spectra and Bessel functions, for plotting data sets and for plot- ting and comparing user-specified functions with data sets. Screen graphics capabilities are used by most of the programs, and the host computer must be equipped with a graphics card and monitor (CGA, EGA, VGA, MCGA or Hercules). Mathplot detects which graphics hardware is present and provides the appropriate drivers. The dis- tribution disk contains the following files: Filename Function mathplot.exe main system file poly2.mpd sample data poly3.mpd " poly4.mpd " fplsinx.mpd " foursqr.frd " fouramp.frd " simeq2.sim " simeq4.sim " simeq6.sim " matrix2.inv " matrix3.inv " manual.txt owners manual MATHPLOT.EXE is compatible with computers with or without a numeric co-processor. If a numeric co-proces- sor is present in the host computer, it is detected and utilized by MATHPLOT in its math intensive operations. The system file requires IBM-PC or MS DOS version 2.0 or higher. The hardware requirements to utilize all of the features of MATHPLOT are as follows: 1 mathplot * IBM PC (or compatible) with one disk drive. * Color or monochrome graphics capability. * Epson MX or FX printer (or compatible). * numeric math co-processor (optional). * 256 Kbytes of RAM. Starting MATHPLOT: The differences between MATHPLOT Versions 2.2 and 2.1 are the following: (1) the number of data points the programs can handle has been increased from 100 to 200, (2) logarithms (base e and base 10) can now be taken for data point coordinate values in the Least Squares pro- gram, (3) the ESCape key can be used from any prompt in any program to return to the previous menu. A working disk should be prepared by copying the appropriate MATHPLOT files to a formatted floppy disk or to a directory on a fixed disk. Such a disk should not be write protected since data may be written to it during operation. The following procedure is suggested. Insert the MATHPLOT system disk in drive A. Copy the MATHPLOT.EXE file to the working disk in Drive B or to the working directory on the hard disk. Copy any or all of the sample data files and the owner's manual text file as desired. The MATHPLOT working disk is now ready for use. With the working files in the default drive type MATHPLOT followed by ENTER. The introductory screen is displayed until a key is pressed after which the Main Menu (next page) appears. Throughout all of the MATHPLOT programs, various menus and data input prompts are presented. When re- sponding to a menu or to a "Yes or No" prompt, it is necessary only to press a single key without pressing the ENTER key. When entering data or other mathematical parameters (order of polynomial, number of equations, etc.), the ENTER key must be pressed after entering the desired number. At any prompt in any of the programs, the ESC key may be used to return to the previous menu. In most of the programs an opportunity is given to have a quick look or "preview" of the data on the graphics screen immediately after it has been entered and checked. 2 mathplot main menu 8:34 am - - M A T H P L O T - - Select from the following options: 1 - Least squares fitted polynomial: 2 - Solution of simultaneous equations: 3 - Numerical integration: 4 - Matrix inversion: 5 - Fourier series: 6 - Bessel functions: 7 - Statistics: 8 - Data plot: 9 - Function plot: 0 - Data files: ESC - Exit to DOS: Enter selection: The mathematical functions will be discussed in separate sections to follow. To leave MATHPLOT and re- turn to DOS simply press the ESCape key. Selection of option 0 causes the MATHPLOT data files on the disk in the default drive (or directory) to be listed on the screen. These data files will also be discussed in the following sections. In all of the MATHPLOT programs, the prompt "press any key" is used at pauses in program flow. If ESCape is pressed at this prompt, the program does not continue and control is returned to the menu for that program. Hardcopies of Graphics Screens: Hardcopies of MATHPLOT graphics screens can be printed by Epson (or compatible printers). In order to obtain hardcopies of graphics screens it is necessary that programs not supplied with MATHPLOT be run before MATHPLOT is started. The procedure for making hardcopies be described below. 3 mathplot A. Hercules Monochrome Graphics Card The utilities program entitled HGC.COM sup- plied with the Hercules card must be run before MATHPLOT is started. The HGC.COM file must be of a recent version (6/17/85 or later) and must contain the Hercules PRINT routine. To run this program, insert the Hercules disk in the default drive, turn the printer ON, and type HGC PRINT . MATH- PLOT may then be started, and from a graphics screen a hardcopy may be obtained by pressing SHIFT PRTSC followed by 0 (zero). The screen dump process takes about two minutes after which MATHPLOT opera- tions may be continued. Screen dumps from Hercules clone cards generally are not possible. The user is referred to the literature accompanying that card. B. IBM CGA Graphics Card The PC-DOS program named GRAPHICS.COM must be run before MATHPLOT is started. To run this pro- gram, insert a DOS disk in the default drive, turn the printer ON, and type GRAPHICS . MATHPLOT may then be started, and from a graphics screen a hardcopy may be obtained by pressing SHIFT PRTSC. The screen dump process takes about two minutes after which MATHPLOT operations may be continued. It should be pointed out that difficulties with the screen dump process may be encountered if memory resi- dent programs such as Sidekick or Prokey are present. If the computer locks up during or just after printing a graphics screen, the problem may be due to the presence of one of these utilities. The computer should be re- booted with a DOS system disk which does not load memory resident programs. least squares 1. Using the Least Squares program: Pressing 1 from the Main Menu causes MATHPLOT to enter the Least Squares program. This program fits a polynomial of any order between 0 and 9 to a set of data points. Up to 200 data points may be used. For the poly- nomial to be meaningful, its order should be much less than the number of data points. The first screen after the Main Menu gives a brief description of the program. Press any key to continue to the input phase, and the following Least Squares Input Menu will be displayed. 4 least squares least squares 8:48 am Select from the following options; 1 - Retrieve data from disk file. 2 - Enter new data. 3 - Return to previous menu. Enter selection: The Input Menu is self explanatory, but some com- ments are in order. Data may be retrieved from a file in drive or directory, new data may be entered, or control may be returned to the previous menu by pressing 1, 2, or 3 respectively. If 1 is selected from the Least Squares Input Menu, all files in the default drive whose extension is .MPD (MathPlot Data) will be listed on the screen, and the user will be asked to type the name of the file to be used. If no files are present on the default drive disk, the message "No .MPD files:" will appear. Data files from any disk or directory may be used by typing the ap- propriate drive letter, path and filename. The filename may be entered in upper or lower case letters with or without the extension (.MPD). If the filename is entered incorrectly, the message "file not found - try again" will appear until the filename is correctly entered or ESC is pressed. If none of the listed files is to be used, pressing ENTER or ESC from the "Enter file name:" prompt returns control to the Input Menu. The distribu- tion disk contains three sample data files, POLY2.MPD, POLY3.MPD, and POLY5.MPD which can be used to demon- strate the Least Squares program. After the .MPD data file has been read, the X and Y coordinates of all the data points are displayed sequen- tially, and the following data check menu is displayed. Press C (change data), G (graphic preview), S (save) ENTER to continue If C (or c) is pressed, the next prompts will be "Press ENTER to register number, ESC to exit" and "i = ? ". The user enters the value of the index for the data po- int to be changed. Prompts are then given for new X and Y coordinate values. This process continues until the user presses the ENTER or ESC key at the "i = ?" prompt. The data may be viewed on the graphics screen by pres- sing G from the data check menu. Pressing S provides an opportunity to save the data to a disk file with the 5 least squares .MPD extension. To continue with the program, press ENTER from the data check menu. If 2 is selected from the Least Squares Input Menu, the user is prompted for the number of data points to be entered. The number must be an integer between 3 and 200. The user is then prompted for X and Y coordinates of each point until all data have been entered. The data points may be entered in any order since they are later sorted in increasing values of X. After the data have been entered, the data check procedure described above will give the user an opportunity to make any ne- cessary changes. New or changed data may be previewed on the graphics screen and saved to a .MPD disk file. The user is next prompted for, "Order of fitted polynomial, m = ? ". A positive integer between 0 and 9 must be entered. After a short time the least squares fitted polynomial coefficients are displayed. Pressing any key will display the Least Squares Menu as follows: least squares 9:13 am Select from the following options: 1 - Display results on graphics screen. 2 - Calculate projected values from polynomial. 3 - Print copy of polynomial and data. 4 - Calculate another polynomial from these data. 5 - More calculations with new data. 6 - Modify data set (interchange X,Y; log Y). 7 - Check/change data. 8 - Exit to main menu. Enter selection: Option 1 from the Least Squares Menu displays the data points and the fitted polynomial on the graphics screen. The first prompt after selecting option 1 is: "Specify axis labels and ranges ? Y or N". Answering "N", "n" or ENTER causes a graphics display with auto- matically selected axis labels and ranges. This range includes all of the data points plus an additional 10% of the range spanned by these points. Answering the prompt with "Y" or "y" results in additional prompts for axis labels and for minimum and maximum values of X and Y to be plotted. Axis label strings may include as many as 18 characters. Additional characters are truncated. 6 least squares The graphics screen shows the data points as X's and the calculated polynomial as a dotted curve. Vertical and horizontal axes pass through the origin of the coordin- ate system. To exit the graphics mode, any key may be pressed, and control will return to the Least Squares Menu. Option 2 from the Least Squares Menu permits the calculation of values of Y from input values of X using the least squares fitted polynomial. Prompts are given for values of X, and the calculated values of Y are displayed. All such projected values are stored in memory and are printed out when option 3 is selected from this menu. Pressing ESCape at the "X = ? " prompt returns control to the Least Squares Menu. Option 3 prompts the user to enter a print-out header. This may be any combination of as many as 70 characters. It is intended to permit the user to iden- tify the set of calculations being printed. This is fol- lowed by a prompt to turn on the printer. The polynomial coefficients, all input data with calculated values of Y for each input value of X, and all projected values of Y along with their corresponding values of X are then printed. Control is automatically returned to the Least Squares Menu after printing has stopped. Option 4 results in a prompt for a value for the order of a new polynomial to be fitted to the same data. Any value from 0 through 9 may be selected (consistent with the number of data points). Results from the new calculations are presented as described above. Option 5 from the Least Squares Menu returns pro- gram control to the Least Squares Input Menu, from which new data may be entered and new polynomials calculated. Option 6 causes the display of a menu which permits the user to interchange the X,Y values for all points in the data set or to replace data set Y values with base e or base 10 logarithms of the Y values. Non-positive Y values are replaced with zero. The interchange feature also permits logarithms to be taken of data set X values. Option 7 permits the checking and changing of cur- rent data prior to calculating new results. Changed data may also be saved to a disk file with a .MPD extension. Option 8 returns control to the MATHPLOT Main Menu. 7 simeq 2. Using the Simultaneous Equations program: Selecting option 2 from the Main Menu leads into the Simeq program and displays its introductory screen. Simeq solves a system of up to 12 simultaneous linear equations through the use of the matrix algebra equation A(i,j)*X(i) = B(j). Program input consists of the mat- rices A(i,j) and B(j). The coefficient matrix A(i,j) must be square and the column matrix B(j) must be of the same order. Recall that in matrix notation the first subscript is the row number and the second is the column number. The kth row in the coefficient matrix is made up of the coefficients in the kth equation A(k,1)*X(1) + A(k,2)*X(2) + ... + A(k,n)*X(n) = B(k) If the determinant of A(i,j) is zero, its inverse does not exist and the problem cannot be solved. Press any key and the Simeq Input Menu is displayed. This menu is identical with the Least Squares Input Menu described in Section 1. The options are treated slightly differently however due to the format of the Simeq data. If 1 is selected from the Simeq Input Menu, all files in the default drive whose extension is .SIM will be listed on the screen and the user will be asked to type the name of the file to be used. If no files are present on the default drive disk, the message "No .SIM files:" will appear. Data files from any drive or direc- tory may be used by typing the drive letter, path and filename. The filename may be typed in upper or lower case letters with or without the extension (.SIM). If the filename is entered incorrectly, the message "file not found - try again" will appear until the file- name is correctly entered or ESC is pressed. If none of the listed files is needed, pressing ENTER or ESC from the "Enter file name:" prompt returns control to the In- put Menu. The distribution disk contains three sample files, SIMEQ2.SIM, SIMEQ4.SIM, and SIMEQ6.SIM which can be used for demonstrating the program. After the .SIM data file has been read, the ele- ments of the A(i,j) matrix will be displayed, and the following data check menu is displayed. press C (change data), ENTER to continue If C (or c) is pressed, the next prompt will be "Press ENTER to register number, ESC to exit" followed by "i = ? ". Enter the row number of the matrix element to be changed followed by ENTER. The column number of the ele- ment to be changed is entered after the "j = ? " prompt. 8 simeq The correct value of the matrix element A(i,j) is then entered. This process continues until the user presses ENTER or ESC at the "i = ? " prompt. Press ENTER again to continue. The B(j) matrix is then displayed and may be changed similarly. Pressing S from the B matrix data check menu provides an opportunity to save the data to a disk file. If 2 is selected from the Simeq Input Menu, the user is prompted for the number of linear equations to be solved. The number must be an integer not larger than 12. The user is then prompted for each element of the A(i,j) matrix until all of the elements have been entered. The elements of the B(j) matrix are then en- tered in a similar fashion. After the data have been entered, the data check procedure described above will give the user an opportunity to make necessary changes in either matrix and to save the data to a .SIM disk file. After a short period of time, the solution matrix X(i) is displayed. Pressing any key will result in the display of the Simeq Menu as follows. simeq 9:31 am Select from the following options: 1 - Print copy of problem and answer. 2 - More calculations with new data. 3 - Check/change data and recalculate. 4 - Exit to main menu. Enter selection: Option 1 prompts the user to enter a header line and to then turn on the printer. The program than prints the input matrices and the solution matrix and returns control to the Simeq Menu after printing has ended. Option 2 from the Simeq Menu returns program con- trol to the Simeq Input Menu. New data may be entered, checked and saved and new sets of equations solved. Option 3 permits the checking and changing of cur- rent data prior to re-calculating new results. Changed data may also be saved to a disk file. Option 4 returns control to the MATHPLOT Main Menu. 9 integrate 3. Using the Numerical Integration program: Selecting 3 from the Main Menu causes MATHPLOT to enter the Integrate program and display its introductory screen. Integrate computes the integral of a function which is defined by up to 200 unequally spaced discrete function values between the minimum and maximum values of the independent variable, X. The method of cubic splines is used, and a sort routine precludes the need for entering the data points in any particular order. After entering and checking the data, they may be saved to a disk file and viewed on the graphics screen by re- sponding appropriately to the prompts. Depress any key and the Integrate Input Menu is displayed. This menu is identical with the Least Squares Input Menu described in Section 1 and the options are treated basically the same. If 1 is selected from the Integrate Input Menu, all disk files in the default drive whose extension is .MPD will be listed on the screen and the user will be asked to type the name of the file to be used. If no files are present on the default drive disk, the message "No .MPD files:" will appear. A file from any drive or directory may be used by typing the drive letter, path and file- name. The filename may be typed in upper or lower case letters with or without the extension (.MPD). If the filename is entered incorrectly, the message "file not found - try again" will appear until the filename is correctly entered or ESC is pressed. If none of the lis- ted files is needed, pressing ENTER or ESC from the "En- ter file name:" prompt returns control to the Input Menu. The distribution disk contains three sample files, POLY- 2.MPD, POLY3.MPD, and POLY5.MPD which can be used for demonstrating the Integrate program. After the .MPD data file has been read, the X and Y coordinates of all the data points representing the function to be integrated will be displayed sequential- ly, and the data check menu will appear. This menu is identical to the one shown and described on page 5 of this manual. The user may change data coordinate values, view a plot of the data on the graphics screen, save da- ta to a disk file or continue with the program from this menu. If 2 is selected from the Integrate Input Menu, the user is prompted for the number of data points to be en- tered. The number must be an integer between 3 and 200. The user is then prompted for X and Y coordinates of each point until all data have been entered. The data 10 integrate points may be entered in any order since they are later sorted in increasing values of X. After the data have been entered, the data check procedure described above will give the user an opportunity to make any necessary changes and to save the data to a .MPD disk file. After a short time, the integral of Y(x) between the lower and upper limits of X is displayed on the screen. Pressing any key will result in the display of the Integrate Menu as follows. integrate 9:34 am Select from the following options: 1 - Print copy of problem and answer. 2 - More calculations with new data. 3 - Check/change data and recalculate. 4 - Exit to main menu. Enter selection: Option 1 prompts the user to enter a header line and to turn on the printer. The program than causes the input data and the results of the numerical integration calculation to be printed. Control is automatically re- turned to the Integrate Menu after printing has ended. Option 2 from the Integrate Menu returns program control to the Integrate Input Menu. New data may be entered, checked and saved and new integrals computed. Option 3 permits the checking and changing of cur- rent data prior to recalculating new results. Changed data may also be saved to a disk file. Option 4 returns control to the MATHPLOT Main Menu. 11 invert matrix 4. Using the Matrix Inversion program: Selecting 4 from the Main Menu results in the dis- play of the introductory screen for the Matrix Inversion program. This program inverts a square, non-singular ma- trix whose order may be as high as 12 by using a Gauss- Jordan reduction method with partial pivoting. The square matrix A(i,j) which is to be inverted must be input with the usual matrix notation (i is the row number and j the column number). If the determinant of A(i,j) is zero, its inverse does not exist. Press any key and the Matrix Inversion Input Menu is displayed. This menu is identical with the Least Squares Input Menu described in Section 1. The options are treated slightly differently however due to the matrix format of the input data. If 1 is selected from the Matrix Inversion Input Menu, all files in the default drive whose extension is .INV will be listed on the screen and the user will be asked to type the name of the file to be used. If no files are present on the default drive disk, the message "No .INV files:" will appear. As with the other programs in MATHPLOT, data files in any drive or directory may be used by entering the appropriate drive and path. The filename may be typed in upper or lower case letters with or without the extension (.INV). If the filename is entered incorrectly, the message "file not found - try again" will appear until the filename is correctly entered or ESC is pressed. If none of the listed files is needed, pressing ENTER or ESC from the "Enter file name: " prompt returns control to the Input Menu. The distribution disk contains two sample files, MATRIX2.INV and MATRIX3.INV which can be used for demonstrating the Matrix Inversion program. After the .INV data file has been read, the ele- ments of the A(i,j) matrix will be displayed, and the following data check menu is displayed. press C (change data), S (save), ENTER to continue If C (or c) is pressed, the next prompts will be "Press ENTER to register number, ESC to exit" and "i = ? ". En- ter the row number of the matrix element to be changed followed by ENTER. The column number of the element to be changed is entered after the "j = ? " prompt. The correct value of the matrix element A(i,j) is then en- tered. This process continues until the user presses the ENTER or ESC key at the "i = ?" prompt. Pressing S from the data check menu provides an opportunity to save the data to a disk file. Pressing ENTER causes the program to continue. 12 invert If 2 is selected from the Matrix Inversion Input Menu, the user is prompted for the order of the matrix to be inverted. The number must be an integer not lar- ger than 12. The user is then prompted for each element of the input matrix until all of the elements have been entered. The data check procedure described above will then give the user an opportunity to make any necessary changes and to save the data to a disk file. After a short time, the inverted matrix is dis- played, or if the input matrix A(i,j) is singular the calculation will not proceed and an error message "A(i,j) is singular." will appear. Pressing any key will result in the display of the Matrix Inversion Menu as follows. invert matrix 9:52 am Select from the following options: 1 - Print copy of problem and answer. 2 - More calculations with new data. 3 - Check/change data and recalculate. 4 - Exit to main menu. Enter selection: Option 1 prompts the user to enter a header line and to turn on the printer. The program than causes the input and the inverted matrices to be printed. Control is automatically returned to the Matrix Inversion Menu after printing has ended. Option 2 from the Matrix Inversion Menu returns program control to the Matrix Inversion Input Menu. New data may be entered, checked and saved to .INV files and new matrices inverted. Option 3 permits the checking and changing of current data prior to recalculating new results. Changed data may also be saved to a disk file. Option 4 returns control to the MATHPLOT Main Menu. 13 fourier 5. Using the Fourier Series program: Pressing 5 from the Main Menu causes MATHPLOT to enter the Fourier program. This program calculates co- efficients for a trigonometric Fourier series for an em- pirical periodic function that is input in the form of discrete function values distributed at equal intervals over one period of the function. 2 M + 1 such coeffi- cients are calculated, where M is the input order of the series. M must be an integer between 1 and 10. The number of values of the function, N, must be an odd in- teger between 5 and 199. The coefficients are calcula- ted by numerically integrating the product of the input function and the appropriate trigonometric func- tion over one period of the independent variable. Accu- racy in the values of the calculated coefficients, of course, increases with N. The first screen after the Main Menu displays a brief description of Fourier. Any key may be pressed to continue to the input phase of the program with the display of the Fourier Input Menu. This menu is also identical with the other input menus with the exception of the heading in the upper left hand corner of the screen. The "Enter new data." option however is treated slightly differently. If 1 is selected from the Fourier Input Menu, all default drive files whose extension is .FRD (Fourier data) will be listed on the screen and the user will be asked to type the name of the file to be used. The filename may be typed in upper or lower case letters with or without the extension (.FRD). Files may be called from any drive or directory by using the appro- priate path. If no files are present on the default drive disk, the message "No .FRD files:" will appear. If the filename is entered incorrectly, the message "file not found - try again" will appear. If none of the listed files is to be used, pressing ENTER or ESC from the "Enter file name: " prompt returns control to the Input Menu. The distribution disk contains two files, FOURSQR.FRD and FOURAMP.FRD which can be used to demon- strate the Fourier program. After the .FRD data file has been read, the N equally spaced values of the periodic function and the corresponding values of the independent variable will be displayed sequentially, and the data check menu will ap- pear. This menu is identical to the one shown and de- scribed on page 5 of this manual. The user may change data coordinate values, view a plot of the data on the graphics screen, save data to a disk file or continue with the program from this menu. 14 fourier If 2 is selected from the Fourier Input Menu, the user is prompted for the number of data points to be en- tered. The number must be an ODD integer between 5 and 199. The user is then prompted for the minimum and max- imum values of the independent variable, X. These must correspond to the end points of a single period in the periodic function. The program then calculates the lo- cation of the N equally spaced points and prompts for the corresponding function values at each location. Af- ter the data have been entered, the data check procedure described above will give the user an opportunity to make necessary changes. New or changed data may be saved to a .FRD disk file for future use and previewed on the graphics screen. The user is next prompted for "Order of the series, M = ? ". A positive integer no larger than 10 must be entered. After a period of time, the series coeffi- cients will be displayed. The computation time varies rather dramatically with both M and N. The time to calculate a 10th order series from 51 data points is about 40 seconds on an ordinary PC with no coprocessor and about 1 or 2 seconds on a PC with an 8087. Pressing any key will result in the display of the Fourier Menu as follows. fourier 10:12 am Select from the following options: 1 - Display periodic function on graphics screen. 2 - Display Fourier spectrum on graphics screen. 3 - Print copy of problem and results. 4 - Calculate another series from these data. 5 - More calculations with new data. 6 - Check/change data. 7 - Exit to main menu. Enter selection: Option 1 from the Fourier Menu displays the data points and the calculated series on the graphics screen. The first prompt after selecting option 1 asks: "Speci- fy axis labels and ranges ? Y or N". Answering "N", "n" or ENTER causes a graphics display with automatical- ly selected axis labels and ranges. This range includes all of the data points plus an additional 10% of the range spanned by these points. Answering the prompt with "Y" or "y" results in additional prompts for axis la- bels and for minimum and maximum values of X and Y to be 15 fourier plotted. Axis label strings may include as many as 18 characters. Additional characters are truncated. The graphics screen shows the data points as X's and the calculated Fourier series function as a dotted curve. Vertical and horizontal axes pass through the origin of the coordinate system. To exit the graphics mode, any key may be pressed to return control to the Fourier Menu. Option 2 produces a plot of the Fourier spectrum on the graphics screen. The square root of the sum of the squares of the calculated A and B coefficients are plot- ted versus the frequency. A more detailed spectrum may be obtained by specifying a larger value for M, the or- der of the series (see p. 14). To exit the graphics mode, press any key. Option 3 prompts the user to enter a header line as described in the Least Squares section above and to turn on the printer. The Fourier series coefficients and all input data are then printed. Control is automatically returned to the Fourier Menu after printing has stopped. Option 4 results in a prompt for a value for the order of a new Fourier series to be calculated from the same data. Any value from 1 through 10 may be selected. Results from the new calculations are presented as des- cribed above. Option 5 from the Fourier Menu returns program control to the Fourier Input Menu, whence new data may be entered and new series calculated. Option 6 permits the checking and changing of cur- rent data prior to calculating new results. Changed data may also be saved to a disk file. Option 7 returns control to the MATHPLOT Main Menu. 16 bessel 6. Using the Bessel program: Selecting option 6 from the Main Menu causes MATH- PLOT to enter the Bessel program. This program calcu- lates and plots Bessel functions of the first or second kind. Orders for J(n,X) may range from -15 to +15 and for Y(n,X) from 0 to 15. Any positive value may be en- tered for the argument X. Both functions are calculated from truncated series for values of the argument less than 20. For larger values of X an asymptotic formula is used. For X < 20, the error in both functions is less than 1E-6. For X > 20, the accuracy is high so long as X is much greater than the order. The first screen after the Main Menu displays a brief description of the Bes- sel program. Any key may be pressed to continue to the Bessel Menu shown below. bessel 10:38 am Select from the following options: 1 - Calculate values of J(n,X). 2 - Plot J(n,X) vs. X. 3 - Calculate values of Y(n,X). 4 - Plot Y(n,X) vs. X. 5 - Print calculated values. 6 - Return to main menu. Enter selection. If 1 is selected from the Bessel Menu, the program prompts for the desired order of the Bessel function of the first kind. Any number between (and including) -15 and +15 may be entered for the order. The user is next prompted for the argument of the function. Any POSITIVE number may be entered. The value of the Bessel func- tion for the entered order and argument is then dis- played. Such calculations may continue until the user presses ESC at either prompt, whence control is returned to the Bessel Menu. If 2 is selected from the Bessel Menu, the program prompts for the order of the Bessel function of the first kind to be plotted. Any number between -15 and +15 may be entered. The program then prompts (in turn) for the minimum and maximum values of the range of the ar- gument, X, to be plotted. Any positive values may be entered. X max must, of course, be greater than X min. The function plotted over the specified range will then be displayed. Any key may be pressed to exit the graph- 17 bessel ics screen and return to the Bessel Menu. Options 3 and 4 result in calculations or plots for Bessel functions of the second kind. The only difference from the procedures described above is that orders for Y(n,X) are restricted to the range 0 through +15. Option 5 prompts the user to enter a header line and to turn on the printer. All functions calculated in the preceding session are then printed, and control is returned to the Bessel Menu. Option 6 returns control to the MATHPLOT Main Menu. statistics 7. Using the Statistics program: Selecting 7 from the Main Menu causes MATHPLOT to enter the Statistics program and to display its intro- ductory screen. This program prompts for the number of variables (1 or 2) and the number of observations (3 to 200). It calculates the mean and the standard deviation for each variable. If two variables are used, the cor- relation coefficient and linear regression coefficients are also calculated. From calculated linear regression coefficients, the user can find projected values of ei- ther variable from entered values of the other. In the graphics mode, Statistics plots single variable values versus their index number, or if two variables are used, the second variable, Y is plotted against the first. In both cases the mean of the variable(s) is indicated by appropriate axis lines. Statistics works with data files of the .MPD type and will produce hardcopy of data and results on the printer. After entering the number of variables, the Statis- tics Input Menu is displayed. This menu is identical with the Least Squares Input Menu described in Section 1 and the options are treated basically the same. If one variable is being studied, however, prompts will be given only for X values. If 1 is selected from the Statistics Input Menu, all default drive .MPD files will be listed on the screen and the user will be asked to type the name of the file to be used. A drive letter, path and filename 18 statistics may be typed in upper or lower case letters with or without the extension (.MPD). If no files are present in the specified drive, the message "No .MPD files:" will appear. If the filename is entered incorrectly, the message "file not found - try again" will appear. If none of the listed files is needed, pressing ENTER or ESC from the "Enter file name: " prompt returns control to the Input Menu. The distribution disk contains three sample files, POLY2.MPD, POLY3.MPD, and POLY5.MPD which can be used for demonstrating the Statistics program. After the .MPD data file has been read, the X and Y values of the observations will be displayed sequential- ly, and the data check menu will appear. This menu is identical to the one shown and described on page 5 of this manual. The user may change observation values, view a plot of the data on the graphics screen, save the data to a disk file or continue with the program from this menu. If 2 is selected from the Statistics Input Menu, the user is prompted for the number of observations to be entered. The number must be an integer between 3 and 200. The user is then prompted for values of each observation until all data have been entered after which the data check procedure described above will give the user an opportunity to make necessary changes and to save the data to a .MPD disk file. After a short time, the statistical results are displayed, showing the number of variables, the number of observations, the sum, mean value and standard devia- tion from the mean for each variable. If two variables are being studied, the correlation factor is also dis- played. Pressing any key will result in the display of the Statistics Menu as follows. statistics 10:51 am Select from the following options: 1 - Display data on graphics screen. 2 - Linear regression calculations. 3 - Print copy of data and results. 4 - More calculations with new data. 5 - Interchange X and Y variables. 6 - Check/change data and recalculate. 7 - Exit to main menu. Enter selection: 19 statistics Option 1 from the Statistics Menu produces a graph- ical display of the data. If a single variable is being used, its values are plotted vertically versus the order in which they were entered. A horizontal axis passes through the mean of their values. The plotted area is not user selectable. If observations of two variables were entered, the Y values are plotted (vertically) ver- sus the X values for each observation. The first prompt after selecting option 1 asks: "Specify axis labels and ranges ? Y or N". Answering "N", "n" or ENTER causes a graphics display with automatically selected axis labels and ranges. This range includes all of the data points plus an additional 10% of the range spanned by these points. Answering the prompt with "Y" or "y" results in additional prompts for axis labels and for minimum and maximum values of X and Y to be plotted. Axis label strings may include as many as 18 characters. Additional characters are truncated. A horizontal axis passes through the mean value of Y and a vertical axis through the mean value of X. Selecting Option 2 causes Statistics to enter the linear regression calculation routine, in which case it is assumed that the two-variable statistical data appro- ximate a straight line. If single variable data were entered an error message appears, otherwise the program prompts the user "Calculate Y(x) or X(y) ? Enter Y or X". Typing Y (or y) causes the program to prompt "X = ?". From the entered value of X the program calculates the corresponding value of Y from the linear regression coefficients. In a similar manner, calculations of X may be made from entered values of Y. This process may be continued until ESC is pressed at the "X = ? " or "Y = ? " prompt. Option 3 prompts the user to turn on the printer. The program than causes the input data, the results of the statistical calculations and the results of all lin- ear regression calculations to be printed. Control is automatically returned to the Statistics Menu after printing has ended. Option 4 from the Statistics Menu returns program control to the Statistics Input Menu. New data may be entered, checked and saved and new calculations made. Option 5 interchanges the X variable value with the corresponding Y value for each observation. The new co- ordinates are sorted according to increasing values of X before being displayed or utilized. 20 statistics Option 6 permits the checking and changing of current data prior to recalculating new results. Whenever a change is made in the data, an opportunity is given to write the changed data to disk. Option 7 returns control to the MATHPLOT Main Menu. data plot 8. Using the Data Plot program: Pressing 8 from the Main Menu causes MATHPLOT to enter the Data Plot program. This program plots up to 200 data points on the graphics screen in a user speci- fied region of the X,Y plane. Press any key and the Data Plot Input Menu is dis- played. This menu is identical with the Least Squares Menu described in Section 1, and the options are treated the same. If 1 is selected from the Data Plot Input Menu, all disk files whose extension is .MPD will be listed on the screen and the user will be asked to type the name of the file to be used. If no files are present on the default drive disk, the message "No .MPD files:" will appear. The drive letter, path and filename may be typed in upper or lower case letters with or without the ex- tension (.MPD). If the filename is entered incorrectly, the message "file not found - try again" will appear. If none of the listed files is to be used, pressing EN- TER or ESC from the "Enter file name: " prompt returns control to the Input Menu. Any of the .MPD files on the distribution disk can be used to demonstrate the Data Plot program. After the .MPD data file has been read, the X and Y coordinates of all the data points will be displayed se- quentially, and the data check menu will appear. This menu is identical to the one shown and described on page 5 of this manual. The user may change coordinate values, view a plot of the data on the graphics screen, save the data to a disk file or continue with the program from this menu. If 2 is selected from the Data Plot Input Menu, the user is prompted for the number of data points to be en- tered. The number must be an integer between 3 and 200. The user is then prompted for X and Y coordinates of 21 data plot each point until all data have been entered. The data check procedure described above will give the user an opportunity to make changes. New or changed data may be saved to a .MPD disk file for future use. Pressing 3 transfers control back to the Main Menu. The user is then prompted: "Specify axis labels and ranges ? Y or N". Answering "N", "n" or ENTER causes a graphics display with automatically selected axis labels and ranges. This range includes all of the data points plus an additional 10% of the range spanned by these points. Answering the prompt with "Y" or "y" re- sults in additional prompts for axis labels and for minimum and maximum values of X and Y to be plotted. Axis label strings may include as many as 18 characters. Additional characters are truncated. The graphics plot is then displayed. To exit the graphics mode, any key may be pressed, and control will return to the Main Menu. There is no interaction between the Data Plot prog- ram and the printer other than the graphics screen dump. The *.MPD files can, however, be printed from the Integ- rate program. function plot 9. Using the Function Plot program: Pressing 9 in the Main Menu causes MATHPLOT to be- gin the Function Plot program. In this program the user may enter any mathematical function of an independent variable X, which can be written from combinations of the supported functions and operators described below. The program evaluates this expression at a large number of points in a user specified range and plots a continu- ous curve depicting the entered function on the graphics screen. A set of data points may also be plotted on the same graphics screen. With Function Plot the user may thus make graphical comparisons of data sets with mathe- matical functions and obtain analytical representations of that data. The following functions are supported: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, ln, log, exp, abs, sqrt, sqr, fact, pi 22 function plot The following operators are also supported: + - * / and ^ The independent variable in the expression must be represented by X or x. Arguments of the supported func- tions must be enclosed by parentheses, brackets or bra- ces. The multiplication operator (*) may be omitted be- tween a number and a parentheses, between two parenthe- ses and between a number and a function name. Numbers may be entered in ordinary notation (123.456) or in ex- ponential notation (-1.23456E-7). Decimal fractions may be entered without a leading zero. Arguments of trigo- nometric functions must be in radians. Following is an example of an acceptable function. F(x) = -1.23E-1 {[sin(x)]^0.33} + pi/6 Operator precedence is as follows: 1. factorialization (fact) 2. minus sign as a prefix negation operator 3. multiplication 4. division 5. exponentiation (^) 6. addition 7. subtraction Any key may be pressed to leave the introductory screen of Function Plot. The user is then prompted to "Enter the desired function", "F(x) = ". Using the information above, the user may then complete the equa- tion to be studied. Pressing ENTER then displays the Function Plot Menu as follows: function plot 12:34 pm Select from the following options: 1 - Plot the function and the current data set. 2 - Calculate values of F(x). 3 - Enter a new function. 4 - Enter a new data set. 5 - Check/change data. 6 - Print results. 7 - Exit to main menu. Enter selection: 23 function plot If no data set has been entered, option 1 in the Function Plot Menu leads to prompts for "X axis label = ? " and "Y axis label = ? ". Any string of 18 or fewer characters may be entered, or pressing ENTER from the prompt(s) will result in the use of the default prompts "X AXIS" and "FUNCTION". Additional prompts ap- pear for plotting ranges. These must be answered with consistent values (xmax > xmin, etc.). After a short period, dependent upon the length of the entered func- tion and hardware configuration, a plot of the function will appear. Pressing any key removes the graphics dis- play which is followed by the prompt "Plot a new func- tion ? Y or N ". Answering positively permits the in- troduction of a new function. Pressing "N", "n" or ENTER or ESC from both returns control to the Function Plot Menu. If a data set has been entered, option 1 causes the prompt "Specify axis labels and ranges ? Y or N " to appear. A positive response leads to the axis label and plotting range sequence; a negative response results in the use of default values for all these variables. De- fault ranges include a 10% border around the area en- closing all of the data points. On the graphics screen the user selected function is plotted as a dotted, con- tinuous curve. The data points are shown as X's. Press- ing any key from the graphics screen returns the prompts for more plots and new functions as described above. The user may continue to enter new functions and compare them with the data on the graphics screen until a satis- factory analytical representation of the data has been developed. The current function appears on all of the screens in the Function Plot program. All of the .MPD sample data files on the distribution disk may be used in demonstrating the Function Plot program. Option 2 prompts the user to enter a value for the independent variable x. The Function Plot program then calculates the entered function for this value of x. All such function evaluations are retained in memory for la- ter printing. Option 3 causes the current function to be display- ed and prompts for the entry of a new function. Option 4 in the Function Plot Menu displays the In- put Menu described in previous programs. This menu per- mits data to be entered from the keyboard or to be read from disk files exactly as described in the Least Squares program instructions (see pages 4 through 7). Option 5 permits the current data set to be checked and changes to be made. The modified data set may then be saved and plotted. 24 function plot Option 6 prompts the user to enter a header line and to turn on the printer. The current function, the data set and all of the function values calculated in Option 3 (above) are then printed. In addition to the data set coordinates, values calculated from the current function for the X coordinate of each data point are al- so printed. Option 7 returns control to the MATHPLOT Main Menu. If both a function and a data set are present in the program, the standard deviation between the data set Y values and the function Y values is calculated. This value is presented as (Sigma = ______ ) on the Function Plot Menu between and to the right of menu items 3 and 4. Sigma is calculated as follows: Sigma = SQRT((Y(func)-Y(data))^2/(n-1)) This value of sigma is also printed by Option 6 (above). files 10. Data files: Pressing 0 from the Main Menu causes MATHPLOT to display the prompt "Enter d:\path\ ". Pressing ENTER from this prompt results in a display of all of the data files in the default drive. If a drive and path are en- tered, then the MATHPLOT data files in that drive/path are displayed. Four types of data files are used by the MATHPLOT programs. These types are distinguished by their extension: .MPD, .SIM, .INV and .FRD. Least Squares, Integrate, Statistics, Data Plot and Function Plot use .MPD files. These files are confi- gured to contain pairs of real coordinates for as many as 200 data points. All of these programs can be used to read, display, change and write .MPD files. Hardcopies of .MPD files can be obtained from the Least Squares, Integrate, Statistics and Function Plot programs. The Data Plot program also uses .MPD files but does not in- _____________________ Acknowledgement: Portions of the Function Plot program utilize material from "Super Tools Library", published by Paragon Courseware, 4954 Sun Valley Road, Del Mar, California 92014. 25 files teract with the printer except through the graphics screen dump. Data files of the .MPD type can be printed out conveniently and quickly from the Integrate program. The Simeq and Matrix Inversion programs use .SIM and .INV files respectively. The files are configured to contain 1 and 2 dimension arrays of real numbers whose order may be as high as 12. The .SIM files con- tain 1 two-dimension array A(i,j) and 1 one-dimension array B(j), whereas the .INV files contain only the two dimension array of the elements for the matrix to be inverted. Both programs permit the user to read, dis- play, change, write to disk and print out their respec- tive files. The Fourier Series program uses .FRD files. These files are configured like the .MPD files. However, each file must contain an odd number of coordinate pairs evenly spaced along the X axis. All data files are written to disk in ASCII format. They may be viewed and edited or written with a word processor or displayed directly from DOS with the "TYPE" command. These files were written with a text editor in the non-document mode. This format may be used in wri- ting other data files. It must be noted that fractional numbers in data files must have a zero inserted before the decimal point. Leading decimal points in real num- bers cannot be read by the program. 26