sysUchjm 发表于 2005-12-18 00:07:04

[求助]如何进行非线性拟合

<P>请问高手能帮忙解决一下这个问题吗?</P>
<P>我用最小二乘法的非线性拟合2004年高教杯的C题----饮酒驾车的模型的相关代码时总是出错,本来才21个数据,残差居然可以达到五千多.真是好奇怪啊!不知道是什么原因.</P>
<P>下面是两个程序段:(我是放在两个M文件里的.)</P>
<P>function ct=fordrink(arg,data)<BR>             ct=arg(1).*(exp(-arg(2).*data)-exp(-arg(3).*data));</P>
<P>第二个M文件:</P>
<P>options = optimset('LevenbergMarquardt','on');<BR>t0=clock;<BR>para0=;% Initial guess for nonlinear parameters<BR>xdata=;<BR>ydata=;<BR>plot(xdata,ydata,'or');<BR>hold on;<BR>=lsqcurvefit(@fordrink,para0,xdata,ydata,[],[],options)<BR>execution_time=etime(clock, t0);<BR>fprintf('Execution time: %g\n',execution_time);<BR>t=0:0.1:16;<BR>a=para(1);         %吸收能力<BR>b=para(2);         %代谢的能力<BR>fct=para(1)*(exp(para(2).*t)-exp(para(3).*t));<BR>plot(t,fct,'-b');<BR>hold off</P>
<P>急急急&gt;&gt;...&gt;&gt;&gt;&gt;&gt;</P>
页: [1]
查看完整版本: [求助]如何进行非线性拟合