在使用nlinfit函数进行拟合时出错,内容如下:
The function you provided as the MODELFUN input has returned Inf or NaN values.
从第一行可以看出,由于赋予的初始值导致了函数生成了NaN(无解),所以整个回归无法进行。说明我们需要修改一下初始值,把值调整为合理的数值即可。
具体操作步骤为:修改定义的初始值
PS. nlinfit与lsqcurvefit同属与非线性最小二乘拟和, 一般来说都是能得到比较接近的结果。这次实验使用lsqcurvefit时报错:
lsqcurvefit stopped because the final change in the sum of squares relative to its initial value is less than the default value of the function tolerance.
但与nlinfit不同的是,lsqcurvefit仍能得到一个结果(正确与否暂且不论),且nlinfit则是直接无法继续运行,这一点算是两者的不同。