作业帮 > 综合 > 作业

matlab双曲线拟合出错,帮我看看,新手

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/16 02:44:44
matlab双曲线拟合出错,帮我看看,新手
xdata=[30 40 50 60 70 80 90 100 110 120 130 140 150];
ydata=[155755 91295 56176 40164 30146 22555 18063 14511 11937 9977 8843 7783 6728];
plot(xdata,ydata,'*');
x0=[1000 100];
f=@(x,xdata) xdata/(x(1)*xdata+x(2));
[x,resnorm] = lsqcurvefit(f,x0,xdata,ydata);
提示错误是Function value and YDATA sizes are incommensurate.
改成
xdata=[30 40 50 60 70 80 90 100 110 120 130 140 150];
ydata=[155755 91295 56176 40164 30146 22555 18063 14511 11937 9977 8843 7783 6728];
plot(xdata,ydata,'*');
x0=[1000 100];
f=@(x,xdata) xdata./(x(1)*xdata+x(2));%加.除
[x,resnorm] = lsqcurvefit(f,x0,xdata,ydata);
即可,