我有以下等式:
keq = (q^(1+b))/((cp^n) * cPEG)
其中 b 定义为:
b = b0 exp(b1 * cPEG+b2 * cp0)
且cp依赖于q,可表示为:
cp = cp0 - q
我有 cPEG 和 q 的数据,我想通过找到 keq、n、b0、b1 和 b2 的最佳参数值来将此方程式拟合到数据中。 cp0 也是给定的常数。
R 中执行此操作的最佳方法是什么?
最初我尝试隔离 q 并使用 nls 对参数进行初始猜测,但这没有成功,因为我意识到我无法隔离 q,因为 cp 依赖于 q。然而,我能够使用 SSlogis 通过数据点或使用 plinear-random 算法的显式方程来拟合逻辑函数来可视化趋势。
st1 <- data.frame(L = c(0.01,2), k = c(1,20), coa0 = c(0.01,1.5))
fit1 <- nls2(q1 ~ L/(1 + exp(-k * (coa1 - coa0))),
start = st1,
control = nls.control(maxiter = 200),
algorithm="plinear-random")
fit2 <- nls(q2 ~ SSlogis(coa2, Asym, xmid, scal), data = df2)