如何用matlab解这个非线性最小二乘问题
<P ><FONT face="Times New Roman">f=i-(x(1)+x(2)*lg(t2))/(t1+x(3))^x(4)</FONT></P><P ><FONT face="Times New Roman">i=[2.04,1.61,1.34,1.21,0.98,0.79,0.65;...</FONT></P>
<P ><FONT face="Times New Roman"> 2.39,1.88,1.59,1.44,1.15,0.95,0.80;...</FONT></P>
<P ><FONT face="Times New Roman"> 2.53,2.03,1.74,1.56,1.26,1.04,0.88;...</FONT></P>
<P ><FONT face="Times New Roman"> 2.75,2.18,1.86,1.72,1.37,1.12,0.96;...</FONT></P>
<P ><FONT face="Times New Roman"> 3.04,2.42,2.06,1.90,1.53,1.29,1.09]</FONT></P>
<P ><FONT face="Times New Roman">t1=</FONT></P>
<P ><FONT face="Times New Roman">t2=</FONT></P>我用matlab的lsqnonlin求解,但总是报错,说什么 matrix must be square,不知哪位高手可以帮帮小弟,最好附上程序,万分感谢! ding~
回复:(andyjm1978)如何用matlab解这个非线性最小二...
<P><FONT face="Times New Roman">f=i-(x(1)+x(2)*lg(t2))/(t1+x(3))^x(4)<br><br>这个函数表达式我就没看懂<br>先把这个表达式写清楚</FONT></P>[此贴子已经被作者于2006-6-2 9:21:28编辑过]
你的函数里有好几个需带入数值的量,但关键是每个量的维数不统一,MATLAB怕了。 <v:shapetype> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock aspectratio="t" v:ext="edit"></lock></v:shapetype><v:shape><v:imagedata></v:imagedata></v:shape> <P><v:shapetype><FONT size=6> f = i - (x(1)+x(2)*lg(t2)) / (t1+x(3)) ^x(4)<BR>这个公式整体来说分为两部分<BR>第一部分为变量 i<BR>第二部分为一个分数<BR>分子:(x(1)+x(2)*lg(t2)) <BR>分母:(t1+x(3)) ^x(4)<BR>主要是我用公式编辑器编的公式这里显示不出来,不知道我这样说了这个公式是否大家看懂了!</FONT></v:shapetype></P>
页:
[1]