# fit_dat

Parameter identification based on measured data This function is obsolete. Please use datafit.

## Calling Sequence

    [p,err]=fit_dat(G,p0,Z [,W] [,pmin,pmax] [,DG])

## Arguments

G

  Scilab function (e=G(p,z), e: nex1, p: npx1, z: nzx1)

p0

  initial guess (size npx1)

Z

  matrix [z_1,z_2,...z_n] where z_i (nzx1) is the ith measurement

W

  weighting matrix of size nexne (optional; default 1)

pmin

  lower bound on p (optional; size npx1)

pmax

  upper bound on p (optional; size npx1)

DG

  partial of G wrt p (optional; S=DG(p,z), S: nexnp)

## Description

`fit_dat` is used for fitting data to a model. For a given function G(p,z), this function finds the best vector of parameters p for approximating G(p,z_i)=0 for a set of measurement vectors z_i. Vector p is found by minimizing `G(p,z_1)'WG(p,z_1)+G(p,z_2)'WG(p,z_2)+...+G(p,z_n)'WG(p,z_n)`

## Examples

    function y=FF(x)
      y=a*(x-b)+c*x.*x;
    endfunction
    X=[];
    Y=[];
    a=34;
    b=12;
    c=14;
    for x=0:.1:3
      Y=[Y,FF(x)+100*(rand()-.5)];
      X=[X,x];
    end
    Z=[Y;X];
    function e=G(p,z)
      a=p(1)
      b=p(2)
      c=p(3)
      y=z(1)
      x=z(2)
      e=y-FF(x)
    endfunction

    [p,err]=fit_dat(G,[3;5;10],Z)

    xset('window',0)
    clf();
    plot2d(X',Y',-1)
    plot2d(X',FF(X)',5,'002')
    a=p(1);
    b=p(2);
    c=p(3);
    plot2d(X',FF(X)',12,'002')

    a=34;
    b=12;
    c=14;
    function s=DG(p,z)
      y=z(1),
      x=z(2),
      s=-[x-p(2),-p(1),x*x]
    endfunction

    [p,err]=fit_dat(G,[3;5;10],Z,DG)

    xset('window',1)
    clf();
    plot2d(X',Y',-1)
    plot2d(X',FF(X)',5,'002')
    a=p(1);
    b=p(2);
    c=p(3);
    plot2d(X',FF(X)',12,'002')

## See Also

- optim
- datafit

## History

5.4.1
Function tagged obsolete. Will be removed in 5.5.0. Please use datafit instead.