马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
以下是我的程序:
xdata=[1,2,3,4,5];
ydata=[6,7,8,9,10];
fun=inline('n(1).*((xdata-4.391e11)./1.2843e12.*2+n(2)).^2/(1+((xdata-4.391e11)./...
1.2843e12.*2).^2)','n','xdata')
n=lsqcurvefit(fun,[1,1],xdata,ydata)
运行后的错误报告如下:
Error using ==> c:/matlab6p5/toolbox/optim/private/lsqncommon
Function value and YDATA sizes are incommensurate.
Error in ==> C:\MATLAB6p5\toolbox\optim\lsqcurvefit.m
On line 129 ==> [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Error in ==> D:\luxc\work\matlab\fano model\trial2.m
On line 5 ==> n=lsqcurvefit(fun,[1,1],xdata,ydata)
好象是说我的ydata的数组大小和function的不一致.可是我换用一个简单的函数:
n(1).*10+xdata.*n(2)来拟合,程序就可以正常运行,难道是所需拟合的函数的问题?
谢谢. |