【发布时间】:2014-06-20 05:38:24
【问题描述】:
我正在尝试在 R 中拟合一个函数,因此我使用 nls()。 有没有办法防止拟合函数低于零?
一个简单的解决方法是在拟合后提高目标函数中的参数b0,但这实际上不是我想要的,因为我希望真正符合 beeing positive 的约束会导致更好的结果.
y=c(m1,m2,m3,m4,m5,m6,m7,m8,m9,m10)
d=data.frame(seq(1, 10, 1),y=y)
fitFun <- function(x, add, b0, b1) {b0 + (x+add)^b1}
m=nls(y~fitFun(x,add,intercept,power),d,start=list(intercept=1,power=3.5,add=2),trace=T)
【问题讨论】: