我正在尝试在 R 中拟合一个函数,因此我使用 nls()。有没有办法防止拟合函数低于零?
一个简单的解决方法是b0
在拟合后提高目标函数中的参数,但这实际上不是我想要的,因为我希望真正的拟合与积极的约束会导致更好的结果。
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)