小编Ger*_*lix的帖子

强制 nls 拟合通过指定点的曲线

我正在尝试将 Boltzmann sigmoid 拟合1/(1+exp((x-p1)/p2))到这个小型实验数据集:

xdata <- c(-60,-50,-40,-30,-20,-10,-0,10)
ydata <- c(0.04, 0.09, 0.38, 0.63, 0.79, 1, 0.83, 0.56)
Run Code Online (Sandbox Code Playgroud)

我知道这很简单。例如,使用nls

fit <-nls(ydata ~ 1/(1+exp((xdata-p1)/p2)),start=list(p1=mean(xdata),p2=-5))
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

Formula: ydata ~ 1/(1 + exp((xdata - p1)/p2))

Parameters:
   Estimate Std. Error t value Pr(>|t|)    
p1  -33.671      4.755  -7.081 0.000398 ***
p2  -10.336      4.312  -2.397 0.053490 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1904 on 6 degrees of freedom

Number of …
Run Code Online (Sandbox Code Playgroud)

r curve-fitting nls

2
推荐指数
1
解决办法
1797
查看次数

标签 统计

curve-fitting ×1

nls ×1

r ×1