
rand('seed',98071);

a = [0.5 0.1 1.0 10.0 0.3 0.2];

rand('uniform');
len = 40;
t = 3*rand(1,len) - 1.5;
t = sort(t);
rand('normal');
y = nlfun(a,t) + 0.1*rand(1,len);

% Sovitetaan m-tiedoston 'nlsq' malli dataan (t,y)

% Alkuarvaus:
a0 = [1 1 1 1 1 1];
% Haetaan optimi rutiinilla 'leastsq':
[res, opt] = leastsq('nlsq',a0,[],[],t,y)
% Lasketaan mallin ja datan erotuksen neliosumma:
diff = sum(nlsq(res,t,y).^2);

% Piirretaan kuva:
tr = -1.5:0.05:1.5;
plot(t,y,'x',tr,nlfun(res,tr),'-')
% meta nlfit; 
% !gpp nlfit.met -deps
