我使用nlsLM {minpack.lm}
找到的參數a
和功能myfun
b
其數值給出的數據集,mydata
最合適的。R_using nlsLM()與約束
mydata=data.frame(x=c(0,5,9,13,17,20),y = c(0,11,20,29,38,45))
myfun=function(a,b,r,t){
prd=a*b*(1-exp(-b*r*t))
return(prd)
}
,並使用nlsLM
myfit=nlsLM(y~myfun(a,b,r=2,t=x),data=mydata,start=list(a=2000,b=0.05),
lower = c(1000,0), upper = c(3000,1))
它的工作原理。但是現在我想介紹一個約束條件,即a*b<1000
。我查看了nlsLM
中的可用選項,通過nls.lm.control
設置約束條件。但這沒什麼幫助。有人可以幫助我,或者提出一個不同的方法來解決這個問題嗎?