The COMFIT function fits the paired data { xi , yi } to one of six common types of approximating models using a gradient-expansion least-squares method. The result is a vector containing the model parameters a 0 , a 1 , a 2 , etc.
This routine is written in the IDL language. Its source code can be found in the file
comfit.pro
in the
lib
subdirectory of the IDL distribution.
NOTE: One of the following keywords specifying a type of model must be set when using COMFIT. If you do not specify a model, IDL will display a warning message when COMFIT is called.
Set this keyword to a named variable that will contain a vector of standard deviations for the computed model parameters.
Set this keyword equal to a vector of weights for Y i . This vector should be the same length as X and Y . The error for each term is weighted by WEIGHTS i when computing the fit. Frequently, WEIGHTS i = 1.0/s 2 i , where s is the measurement error or standard deviation of Y i (Gaussian or instrumental weighting), or WEIGHTS = 1/Y (Poisson or statistical weighting). If WEIGHTS is not specified, WEIGHTS i is assumed to be 1.0.
Define two n -element vectors of paired data.
X = [ 2.27, 15.01, 34.74, 36.01, 43.65, 50.02, 53.84, 58.30, $
62.12, 64.66, 71.66, 79.94, 85.67, 114.95]
Y = [ 5.16, 22.63, 34.36, 34.92, 37.98, 40.22, 41.46, 42.81, $
43.91, 44.62, 46.44, 48.43, 49.70, 55.31]
Define a 3-element vector of initial estimates for the logsquare model.
Compute the model parameters of the logsquare model, A[0], A[1], & A[2].
result = COMFIT(X, Y, A, /LOGSQUARE)
The result should be the 3-element vector: [1.42494, 7.21900, 9.18794].