Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README | 2023-02-13 | 4.1 kB | |
maxmin.f | 2023-02-13 | 34.1 kB | |
build | 2014-02-03 | 549 Bytes | |
second.f | 2012-01-17 | 1.6 kB | |
dummies.f | 2005-07-20 | 1.0 kB | |
maxmin.dat | 2000-09-18 | 588 Bytes | |
Totals: 6 Items | 42.0 kB | 0 |
MAXMIN DESCIPTION: MAXMIN drives a selection of methods of estimating derivative information for one or more 1-D datasets ("curves"). It was originally intended to test an algorithm for locating all of the maxima and minima contained in experimental measurements. This searching for turning points is now optional - looking at derivatives has become the main purpose, either to examine algorithm behavior or to use the values elsewhere. Results are presented in QPLOTable form. This version concerns itself with 1st and 2nd derivatives. METHOD: MAXMIN is basically SMOOTH (which fits curves to data points) adapted to look at 1st and 2nd derivatives, with an option to calculate the locations of turning points by locating zeros in the 1st derivatives. Dataset format: TITLE <Default for plot frame titles> N <No. of pts. for first curve> X F <Coordinates for first curve; X F X ought to be monotonically increasing, X F even though some methods don't require this; : : distinctions could be made if necessary.> : : N <No. of pts. for next curve> X F X F : : : : <and so on> Plotting considerations: Plotting function values, derivatives, and locations of turning points is problematic because of possible scaling conflicts. Any of these may be suppressed in the saved results. (The data points and fitted function values are linked - either both are shown or neither is shown.) All quantities show up on the same frame (with a new frame for each method, and results for all curves in the dataset on the same frame). Method outline: Prompt for dataset and plot title. Prompt for suppressing the turning-point estimations (meaning look at derivatives only). Prompt for choice of smoothing routine. WHILE <valid method selected> DO Prompt for such things as smoothing parameters. Initialize QPLOT file. Read no. of data points in first dataset (curve). WHILE <not EOF> DO Read a dataset. Fit requested smoothing curve. Generate uniformly-spaced abscissas in data range. Evaluate curve at each of these. Also evaluate first derivative of curve at each of these. Write QPLOT info for up to five curves (data, smoothed curve, first derivative curve, plus, if requested, any maxima as one curve, and any minima as another). Read no. of points for next dataset. END WHILE Rewind data file. Prompt for another method. END WHILE HISTORY: D.A.Saunders 06/27/83 Added max/min code to SMOOTH D.A.S. 07/09/83 Replaced FSCALC with FSCOEF C.L.Hooper 08/15/83 Added FSARBU and FSARBE D.A.S. 08/19/83 Added FSARBN C.L.H. 08/24/83 Added IQHSCU D.A.S. 06/10/87 Generalized for looking at derivatives (with max/mins optional) " 06/12/87 Installed finite difference derivative option " 06/16/87 Installed FSCALC and provided for 2nd derivs. " 11/05/87 Installed MSFIT/CSDVAL " 11/24/87 Installed LSFIT1/CSDVAL " 08/26/88 Bug fix involving NFPP=0. Linked display of data with display of fit so that both may be suppressed if f' and f" are the main interest. " 07/12/89 FSARBE call needs B(0), not B(1) now. " 03/13/90 Installed LCSFIT (no 2nd derivatives though). " 03/06/17 Dinesh wanted to try locating maxima and minima within a very large radiation dataset. " 02/12/23 Minor edits after a cfdtools module version was found to misbehave. AUTHOR: David Saunders, NASA Ames/Sterling Software, June/July 1983.