如何在初始参数估计中修复奇异梯度矩阵'错误

时间:2014-09-30 21:44:18

标签: r exponential nls

我有两个向量:

y: 
 [1] 1889 1528 1213 1009  912  777  783  708  644  716  707  644  634  624  625
 [16]  574  616  569  573  577  565  585  528  572  511  494  555  491  520  518
 [31]  476  454  470  440  450  465  436  403  448  473  429  427  434  429  448
 [46]  407  425  386  414  399  415  385  381  404  430  385  418  407  390  375
 [61]  393  410  386  359  410  367  378  367  362  382  392  378  403  353  376
 [76]  357  439  378  395  357  398  379  337  348  342  387  362  365  361  363
 [91]  359  363  379  392  330  376  366  376  363  350  319  332  328  400  369
[106]  343  401  359  365  357  398  367  344  383  377  362  405  407  384  362
[121]  361  355  358  380  371  364  410  355  370  341  373  386  339  388  365
[136]  368  351  360  379  349  358  333  359  334  369  326  373  370  335  382
[151]  381  339  344  378  367  361  312  348  356  362  357  386  337  378  386
[166]  358  376  350  354  374  383  339  352  387  351  383  354  386  388  351
[181]  355  348  400  379  389  366  370  352  353  369  359  366  357  386  346
[196]  325  362  378  344

and x:
x<-seq(150e-9,19950e-9,100e-9)

我知道它们之间存在指数关系,它的形式如下: Y = A * EXP(B * X)+ C

我正在尝试使用非线性最小二乘函数来拟合数据,但我不断收到错误:'nlsModel中的错误(公式,mf,start,wts):   初始参数估计的奇异梯度矩阵'

我的代码是:

plot(x,y)
mod <- nls(y ~ a*exp( b * x) + c, start = list( a=3000, b = 500000, c=200 ))
lines(x, predict(mod, list(x = x)))

我输入的参数是我知道的接近预期值的参数。有谁知道我在这里做错了什么?

我已经尝试了参数a,b和c的各种初始值,但我总是遇到某种错误。

任何帮助表示感谢。

0 个答案:

没有答案