[已答复] 求助编程问题

[复制链接]
huaner2005 发表于 2011-2-18 09:52:38
兄弟姐妹好啊,今天编程遇到问题麻烦大家给指点下吧谢谢啦
function Z=myfun(k,xdata)
y1=(215.33*xdata+18*(1-xdata))/(0.052*xdata.^0.1178-0.1074*xdata.^0.3458+0.9973);
y2=215.33/(0.9452*xdata);
y3=18/(0.9971*xdata);
H=y1-y2-y3;
Z=k(1)*xdata.^k(2)+k(3)*xdata.^k(4)+k(5);
Z=H;
clear;
xdata =[0 0.1002 0.2004 0.3014 0.4105 0.4947 0.5827 0.7022 0.7686 0.8533 1];
ydata =[0.9941 0.9837 0.9739 0.9653 0.9582 0.9528 0.949 0.9442 0.942 0.9405 0.9384];
k=[1 1 1 1 1];
k=lsqcurvefit('myfun',[1 1 1 1 1],xdata,ydata)
ydata1=myfun(k,xdata);
plot(xdata,ydata,'r*',xdata,ydata1,'g*')
[ydata' ydata1']
错误报告是
??? Error using ==> c:/matlab6p5/toolbox/optim/private/lsqncommon
User supplied function ==> myfun
failed with the following error:

Error using ==> /
Matrix dimensions must agree.

Error in ==> C:\MATLAB6p5\toolbox\optim\lsqcurvefit.m
On line 129  ==> [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

Error in ==> C:\MATLAB6p5\work\Untitled3.m
On line 5  ==> k=lsqcurvefit('myfun',[1 1 1 1 1],xdata,ydata)

1 条回复


wanggang198501 发表于 2011-2-18 10:07:49
这是一个基本的矩阵运算错误,矩阵除法要满足矩阵除法的要求,这一点在线代里应该讲得很清楚了吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表