how to estimate initial conditions for lsqcurvefit function in matlab? thank u in advance.
Ältere Kommentare anzeigen
[x,resnorm]=lsqcurvefit(@myfun,x0,xdata,ydata);
how to set x0?? xdata(voltage) and ydata(displacement), experimental data are attached.
%%function: myfun function f=myfun(x,xdata) a=x(4)*xdata+x(5); for k=1:1:1; r(k)=x(1)*k; wo(k)=0; %%weighting function for i=1:1:length(a); a_b(k,i)=a(i)-r(k); ab(k,i)=a(i)+r(k); w(k,i)=max (a_b(k,i),min(ab(k,i),wo(k))); wo(k)=w(k,i); end pi(k)=x(2)*exp(-x(3)*r(k)); pfi(k,:)=pi(k)*w(k,:); end itpfi=sum(x(1)*pfi); f=a+itpfi;
Antworten (1)
Star Strider
am 8 Apr. 2014
Your problem is likely not your initial parameter estimates. Consider that the loop starting with:
for k=1:1:1;
will only execute once. (It will execute for k = 1 and stop.)
There may be other problems. Please format your code.
2 Kommentare
Hemavathi
am 9 Apr. 2014
Star Strider
am 9 Apr. 2014
Bearbeitet: Star Strider
am 9 Apr. 2014
I’m having problems interpreting your code. What is the original equation you want to fit?
Kategorien
Mehr zu Simulink Design Optimization finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!