我正在使用nlinfit
Matlab 中的函数来绘制一条最适合我拥有的数据集的线。我正在使用的功能是f = @(a, b) 1 - exp(-(x/a)^b)
. 对于大多数数据集,这可以正常工作,但对于某些图表来说,我收到了警告:
警告:
解处的雅可比是病态的,某些模型参数可能无法很好地估计(它们无法识别)。在做出预测时要小心。
我发现通常我们大致有a=5, b=5
,但是对于不正确的拟合nlinfit
给出a=0, b=-0.02
或a=4.6, b=174
。我在下面包含了图表和数据点。
x y3 y2 y1
0.8 0 0.08 0
1.8 0 0 0.17
2.8 0 0 0
3.3 0.08 0 0
3.7 0 0 0.17
4.0 0 0 0.33
4.6 0.75 0.67 0.67
4.9 0.92 0.42 0.75
5.3 0.83 0.5 0.83
5.8 0.92 0.83 1
6.8 1 0.92 1
7.8 1 1 1
怎么了?!