next up previous contents index
Next: MFIT /EPSILON Up: SIC Language Internal Help Previous: MESSAGE   Contents   Index


MFIT

        [SIC\]MFIT Yvar=Func(Xvar,&A,&B,...) [/START A1 B1 ...] [/STEP A2 B2
    ...]  [/EPSILON e] [/WEIGHTS w] [/METHOD m] [/QUIET]
            or
        [SIC\]MFIT Filename [/START A1 B1 ...] [/STEP A2 B2  ...]  [/EPSILON
    e] [/WEIGHTS w] [/METHOD m] [/QUIET]

    Perform a least squares fit using the specified Method. The least square
    fit tries to adjust function Func of variable Xvar  and  parameters  &A,
    &B, ... to match variable Yvar.

    Any  function  or  combination  of  functions  known by SIC may be used.
    Blanks are supported in the formula. The '=' sign is required.

    Fit parameter DUMMY names are &A...&Z . Already  defined  SIC  variables
    may  be  used  in  the formula as long as they don't match the variables
    used by MFIT. The resulting parameters will be stored in  the  structure
    variable  MFIT%.  An array with weights may be given by option /WEIGHTS.
    It must match the dimension of the formula result (defaulted to  uniform
    weight).

    The  formula  can  also  be  provided  by a disk file (default extension
    .GRF), where lines beginning with an exclamation  mark  are  treated  as
    comments.  Inside the file, blanks can be used in the formula, which may
    be spread over several lines.

    The command MFIT defines the following global SIC variables to hold  its
    results:
        MFIT%PAR    : Fit parameters
        MFIT%ERRORS : The parameter errors, if they have been computed
        MFIT%MATH   : Text string containing the formula with replaced dummies
        MFIT%FIT    : Found approximation (the application of MFIT%MATH)
        MFIT%RES    : Residuals  (i.e. Yvar-MFIT%FIT)
        MFIT%STATUS : .FALSE. on successful completion.

    Suppose you read X,Y=f(X) and Z (errorbar on Y) in the 3 arrays X, Y and
    Z.  You could change Z into weights (for example SIC\LET Z 1|Z^2 ), then
    fit a cubic polynomial regression in variables X,Y by typing:
        MFIT Y=(&A*X^3+&B*X^2+&C*X+&D) /WEIGHTS Z
    The MFIT command will print the used formula:
        I-MFIT,  Formula (stored in variable MFIT%MATH) :
        (MFIT%PAR[01]*X^3+MFIT%PAR[02]*X^2+MFIT%PAR[03]*X+MFIT%PAR[04])
    The  array MFIT%PAR will contain MFIT%PAR[1]=value of '&A', and so on...
    to be used afterwards.


Subsections

Gildas manager 2014-07-01