没有关于奇异梯度误差的文章解决了我的问题。
我想根据数据调整二次平稳模型。由于某种原因,模型会因奇异的梯度误差而失败。
fit.lm = lm(Olsen ~ ER, data=fosfo)
a.ini = fit.lm$coefficients[1]
b.ini = fit.lm$coefficients[2]
clx.ini = mean(fosfo$ER)
quadplat = function(x, a, b, clx) {
ifelse(x < clx, a + b * x + (-0.5*b/clx) * x * x,
a + b * clx + (-0.5*b/clx) * clx * clx)}
model = nls(Olsen ~ quadplat(ER, a, b, clx),
data = fosfo,
start = list(a = a.ini,
b = b.ini,
clx = clx.ini),
trace = FALSE,
nls.control(maxiter = 1000))