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 2024-04-19