[Scilab-users] Scilab leastsq exponential fitting
Stéphane Mottelet
stephane.mottelet at utc.fr
Wed Jul 23 12:10:05 CEST 2014
Le 23/07/2014 11:45, chloe.kykam a écrit :
> k=6.63e-34*3e8/1.38e-23
> x=[1;2;3;4;5;6;7;8;9;10]
> y=[280;320;369.22772;391.25743;414.74257;439.75248;466.06931;493.60396;523.87129;530]
> w=[0;0;1;1;1;1;1;1;1;0]
>
> function y=yth(x,a)
> y=a(1)*exp(-k/x/a(2))
> endfunction
>
> a0=[1.0;1.0]
>
> function e=myfun(a,x,y,w)
> e=w.*(yth(x,a)-y)
> endfunction
>
> [f,xopt,gopt]=leastsq(list(myfun,x,y,w),a0)
>
> plot(x,y)
> yy=yth(x, xopt)
> plot(x,yy,'k--')
Hello.
As yth with x as a vector, you need a dot in the division :
function y=yth(x,a)
y=a(1)*exp(-k./x/a(2))
endfunction
S.
More information about the users
mailing list