zzl309 发表于 2010-3-9 21:00

求:关于nlinfit函数的问题

M 文件:
function yhat = mymodel1(beta, x)

yhat=(beta(1)+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3)+beta(5)*x(:,4)+beta(6)*x(:,5)+beta(7)*x(:,1).*x(:,1)+beta(8)*x(:,2).*x(:,2)+beta(9)*x(:,3).*x(:,3)+beta(10)*x(:,4).*x(:,4)+beta(11)*x(:,5).*x(:,5)+beta(12)*x(:,1).*x(:,2)+beta(13)*x(:,1).*x(:,3)+beta(14)*x(:,1).*x(:,4)+beta(15)*x(:,1).*x(:,5)+beta(16)*x(:,2).*x(:,3)+beta(17)*x(:,2).*x(:,4)+beta(18)*x(:,2).*x(:,5)+beta(19)*x(:,3).*x(:,4)+beta(20)*x(:,3).*x(:,5)+beta(21)*x(:,4).*x(:,5));

命令:
x=[1,1,2,1,2;
1,2,1,4,4;
1,3,3,2,1;
1,4,4,3,3;
2,1,4,2,4;
2,2,3,3,2;
2,3,1,1,3;
2,4,2,4,1;
3,1,1,3,1;
3,2,2,2,3;
3,3,4,4,2;
3,4,3,1,4;
4,1,3,4,3;
4,2,4,1,1;
4,3,2,3,4;
4,4,1,2,2];

y=;

beta0=;

beta = nlinfit(x,y,'mymodel1',beta0)

结果:报错
??? Error using ==> nlinfit
MODELFUN should return a vector of fitted values the same length as Y.

请问问题出在哪里?


老是跳出些错误,所以都用最保险的写,方程式才会那么长
各位高手帮忙看下!

friendchj 发表于 2010-3-10 08:01

把y改成列向量即可,即在y=……后加一行y=y';
仔细看一下nlinfit的参数输入格式要求

zzl309 发表于 2010-3-10 08:36

回复 沙发 friendchj 的帖子

好的,我试下,谢谢
页: [1]
查看完整版本: 求:关于nlinfit函数的问题