input <- "
t y
1 5.3
2 7.2
3 9.6
4 12.9
5 17.1
6 23.2"
dat<-read.table(textConnection(input),header=TRUE,sep="")
t<-dat[,1]
y<-dat[,2]
y=3.975*(1.341^t)
是合适的结果,我如何使用nls
函数来获取它?
nls(y~(a*b^t))
Error in getInitial.default(func, data, mCall = as.list(match.call(func, :
no 'getInitial' method found for "function" objects
答案 0 :(得分:2)
尝试
nls(y~(a*b^t),start=c(a=4,b=1))
nls
需要为每个参数提供一个良好的起点