<>我在做一个简单的回归分析,可是matlab显示的错误我始终改不郭来!,请指点一下</P>
<>以下是程序:</P>
<>function yy=f(X,beta0)<BR>x1=X(:,1);<BR>x2=X(:,2);<BR>x3=X(:,3);<BR>b1=beta0(1);<BR>b2=beta0(2);<BR>b3=beta0(3);<BR>b4=beta0(4);<BR>b5=beta0(5);<BR>yy=(b1*x2-x3/b5)./(1.+b2*x1+b3*x2+b4*x3);</P>
<P>执行这个脚本文件:</P>
<P>X=[470 285 470 470 470 100 100 470 100 100 100 285 285;<BR> 300 80 300 80 80 190 80 190 300 300 80 300 190;<BR> 10 10 120 120 10 10 65 65 54 120 120 10 120]';<BR>y=[8.55 3.79 4.82 0.02 2.75 14.39 2.54 4.35 13.00 8.5 0.05 11.32 3.13]';<BR>beta0=[1 1 1 1 1];<BR>betafit=nlinfit(X,y,'f',beta0);</P>
<P>显示错误:</P>
<P>??? Index exceeds matrix dimensions.</P>
<P>Error in ==> E:\Matlab6.5\work\练习\f.m<BR>On line 6 ==> x2=X(:,2);</P>
<P>Error in ==> E:\Matlab6.5\toolbox\stats\nlinfit.m<BR>On line 57 ==> if any(size(feval(model,beta0,X)) ~= size(y))</P>
<P>Error in ==> E:\Matlab6.5\work\练习\kehouti.m<BR>On line 6 ==> betafit=nlinfit(X,y,'f',beta0);</P>
<P>我觉得是x2那付值有问题,可是没发现哪有错,郁闷!!!</P>
|