为什么我收到一个错误消息中使用LSQCURVEFIT时优化工具箱?

10视图(30天)
我收到错误消息
> > x = lsqcurvefit(有趣,x0, xdata ydata)
错误使用lsqcurvefit(第262行)
函数值和YDATA大小不相等。
当使用LSQCURVEFIT优化工具箱。

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2019年7月25日
这个错误消息发生在目标函数的输出的大小是不同的大小ydata向量的值。
请检查你的目标函数的方程MATLAB文件以确保返回向量的大小与ydata向量。(特别注意当你使用 ( 矩阵乘法或()。 元素的乘法。)
一个简单的方法来检查你的目标函数是通过它的输出xdata和初始值(x0)确保返回的值是正确的形式。例如:
一个= myobj (x, xdata)
% myobj是目标函数的地方。
确保一个相同大小的ydata向量。
另外,请检查输入参数的目标函数是正确的。
LSQCURVEFIT的目标函数,第一个输入参数应该是一个系数x和第二输入参数应该输入数据xdata。
% myobj = @ (xdata x) x (1) * exp (x (2) * xdata);%是错误的
myobj = @ (x, xdata) x (1) * exp (x (2) * xdata);%正确

更多的答案(0)

类别

找到更多的在非线性最小二乘曲线拟合)帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!