Matlab错误使用nlinfit,病态雅可比

时间:2015-10-24 14:10:17

标签: matlab non-linear-regression

我正在使用Matlab中的nlinfit函数绘制一条最适合我的数据集的行。我使用的功能是f = @(a, b) 1 - exp(-(x/a)^b)。对于大多数数据集来说,这种方法很好,但是对于一些数据集来说,这是关闭的,我收到了警告:

  

警告:
  解决方案中的雅可比行列式是病态的,并且可能无法很好地估计某些模型参数(它们不可识别)。谨慎做出预测。

我发现通常我们大致有a=5, b=5,但对于不正确的契约nlinfita=0, b=-0.02a=4.6, b=174。我在下面列出了图表和数据点。 good fit a=0 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

出了什么问题?!

0 个答案:

没有答案