R语言nls模型最终参数如何获取

问题遇到的现象和发生背景

我用R语言建立了一个高斯拟合的nls模型,代码如下:

问题相关代码,请勿粘贴截图

x <- 1:length(i) #建立x
a0 <- max(i) #a的初始值
b0 <- length(i)/2 #b的初始值,根据图像可知,b的初始值在数据的中心位置
c0 <- length(i)/4 #c的初始值
fit1 <- nls(i ~ a*exp(-((x-b)/c)^2),start=list(a=a0,b=b0,c=c0))
fit1

运行结果及报错内容

Nonlinear regression model
model: i ~ a * exp(-((x - b)/c)^2)
data: parent.frame()
a b c
14364.88 226.88 77.98
residual sum-of-squares: 62308476

Number of iterations to convergence: 4
Achieved convergence tolerance: 8.636e-06

我的解答思路和尝试过的方法

我发现a,b,c在fit1$m$getpars中,但到此步骤时不知道如何精确提取出a,b,c

我想要达到的结果

通过类似fit1$a这样的指令精确提取出a,b,c参数

使用类似如下方式获取参数值:

k<-ml$m$getPars()[[1]]
Vm<-ml$m$getPars()[[2]]
print(paste('k=',k))
print(paste('Vm=',Vm))

如有帮助请点采纳。

你好,可以使用coef函数来提取你的系数a、b、c

abc<-coef(fit1)

然后abc里面含有三个数分别代表你需要的系数a、b、c