我正在尝试使用 Matlab 中的 levenberg-Marquardt 最小二乘法将具有四个未知参数的巨大函数拟合到我的数据中。我使用了这个命令:
[x, resnorm]=lsqcurvefit(@myfun1,[-100:100], xdata, ydata, ...
[-inf, -inf, -1.5, -inf], [inf, inf, 1.5, inf], options)
这意味着我有兴趣限制第三个参数。但我面临这个问题:
??? Error using ==> lsqncommon at 102
Levenberg-Marquardt and Gauss-Newton algorithms do not handle bound constraints and trust-region-reflective algorithm
requires at least as many equations as variables; aborting.
Error in ==> lsqcurvefit at 258
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
我认为这个错误表明我的数据很小,因为它们是 36 个点,或者可能有太多未知参数,但我认为四个未知参数拟合就可以了!
那么,你怎么看?这是否意味着 MATLAB 无法将我的函数拟合到这 36 点数据?
我会很感激任何评论。