首页 > 解决方案 > 在 R 中使用 nls 函数

问题描述

我想用nls指数函数拟合我的数据:

X <- c(0:40)
Y <- c(0, 0.007515662, 0.015878514, 0.024994325, 0.034728341, 0.044910579, 0.055344590, 
       0.065818599, 0.076118441, 0.086040566, 0.095403934, 0.104059903, 0.111898792, 
       0.118853016, 0.124896650, 0.130041857, 0.134332925, 0.137838655, 0.140644404,  
       0.142844161, 0.144533652, 0.145804788, 0.146741667, 0.147418108, 0.147896553, 
       0.148228057, 0.148453067, 0.148602679, 0.148700131, 0.148762313, 0.148801181, 
       0.148824980, 0.148839256, 0.148847645, 0.148852473, 0.148855195, 0.148856698, 
       0.148857511, 0.148857941, 0.148858164, 0.148858276)

mod <- nls(Y ~ (f - exp(a + b*X + d*X^2)), start = selfStart)

但它不起作用!它返回以下错误:

  Error in nls(Y ~ (f - exp(a + b * X + d * X^2)), start = selfStart) : 
  parameters without starting value in 'data': f, a, b, d

我该如何解决这个问题?

标签: rcurve-fittingdata-fittingnls

解决方案


推荐阅读