做一个非线性回归模型,代码如下:x<-c(1,2,3,4,5)
y<-c(81670,82647,67441,867,43)
c<-data.frame(X=x,Y=y)
result<-nls(Y~(p+q)^2*exp(-(p+q)*(x-a))/p/(1+q*exp(-(p+q)*(x-a)/p)^2),data=c,start=list(p=0.05,q=0.7,a=3))
报错:Error in nls(Y ~ (p + q)^2 * exp(-(p + q) * (x - a))/p/(1 + q * exp(-(p + :
奇异梯度
修改后代码:
result<-nls(Y~(p+q)^2*exp(-(p+q)*(x-a))/p/(1+q*exp(-(p+q)*(x-a)/p)^2),data=c,start=list(p=0.05,q=0.7,a=3),tol=1e-7)
报错:Error in model.frame.default(formula = ~Y + x, data = c, tol = 1e-07) :
变数的长度不一样('(tol)')
求助大神这两个报错怎么改?