声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1085|回复: 1

急!!!哪位大人帮我看看这个多元非线性回归的程序错在哪?

[复制链接]
发表于 2006-5-8 22:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>lab=[0.228 0.821 0.495 0.678 0.727 0.458 0.002 0.231 0.631 0.811 ...<BR>     0.050 0.483 0.116 0.456 0.358 0.258 0.767 0.487 0.748 0.695 ...<BR>     0.981 0.429 0.664 0.059 0.758 0.823 0.682 0.440 0.342 0.162];<BR>cap=[0.802 0.771 0.758 0.452 0.845 0.084 0.295 0.546 0.017 0.223 ...<BR>     0.161 0.836 0.930 0.185 0.485 0.249 0.511 0.425 0.817 0.958 ...<BR>     0.021 0.277 0.129 0.906 0.145 0.006 0.521 0.495 0.092 0.934];<BR>logq=[-1.359 0.193 -0.165 -0.473 -0.563 -2.218 -5.586 ...<BR>      -1.315 -3.879 0.377 -2.539 -0.324 -1.530 -1.151 ...<BR>      -0.951 -1.695 -0.649 -0.270 0.031 -0.125 -3.633 -0.733 ...<BR>      -1.678 -2.301 -2.270 -5.150 -0.253 -0.614 -2.089 -1.275];<BR>x=[lab' cap'];<BR>b0=[1 -1.5 -1];<BR>[b,r,j]=nlinfit(x,logq,'ces',b0);<BR>b<BR>[yp,ci]=nlpredci('ces',x,b,r,j);<BR>yy=[x logq' yp r yp-ci yp+ci]<BR>nlintool(x,y,'ces',b0);<BR><BR>ces.m:<BR>function y=ces(beta,x);<BR>b0=beta(1);<BR>a=beta(2);<BR>d=beta(3);<BR>r=beta(4);<BR>lab=x(:,1);<BR>cap=x(:,2);<BR>xw=d*lab.^r+(1-d)*cap.^r;<BR>y=b0+a*log(xw);<BR><BR><BR>运行后,提示为:<BR>??? Index exceeds matrix dimensions.</P>
<P>Error in ==&gt; D:\matlab\work\ces.m<BR>On line 5  ==&gt; r=beta(4);</P>
<P>Error in ==&gt; D:\matlab\toolbox\stats\nlinfit.m<BR>On line 57  ==&gt; if any(size(feval(model,beta0,X)) ~= size(y))<BR>有哪位大人知道错在哪吗?在如何修改。万分感谢了!!1</P>
回复
分享到:

使用道具 举报

发表于 2006-5-9 08:59 | 显示全部楼层

回复:(leiqz)急!!!哪位大人帮我看看这个多元非线...

一个明显的错误<BR>你在主程序中b0=[1 -1.5 -1];只给出了三个元素<BR><BR>在cem中怎么可能会有beta(4)?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-20 15:27 , Processed in 0.052696 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表