我想将指数曲线拟合到垂直温度曲线数据集。有时指数形状是正的,而其他时间是负的,这取决于空气温度条件。 最后,我想拟合每条曲线,然后提取一系列单独的温度曲线的梯度和截距(制作一个拟合和提取参数的循环)
我已经尝试了一些关于stackoverflow和Google的建议,并且无法超越“初步猜测”步骤......任何帮助都将不胜感激。
我最近和最有希望的尝试如下(取自stackoverflow上的一个例子 - (whuber):
我的数据:
Temps1<-c(284.1875, 285.6550, 286.2342, 286.9142, 287.7900,
290.3492,295.2517, 298.1608)
Temps2<-c(275.6958, 275.0583, 274.7858, 274.4458, 273.9900, 273.1675,
272.3225, 271.5875)
Depths<-c(-100,-70,-56,-42,-28,-14,0,7)
d <- data.frame(x = Temps1, y = Depths)
c.0 <- min(d[,1]) * 0.5
model.0 <- lm(log(Temps1) - c.0 ~ Depths, data=d)
start <- list(a=exp(coef(model.0)[1]), b=coef(model.0)[2], c=c.0)
model <- nls(d[,1]~ a * exp(b * Depths) + c, data = d, start = start)
我遇到了错误: “nlsModel中的错误(formula,mf,start,wts): 初始参数估计时的奇异梯度矩阵 另外:警告信息: 1:在min(x)中:min没有非缺失参数;返回Inf 2:在max(x)中:max没有非缺失参数;返回-Inf“
答案 0 :(得分:0)
建议您使用None
算法。请注意,输出if empty($field3) {
echo "date is not set";
}
中的"plinear"
和.lin1
是a
。您不需要线性参数的起始值:
.lin2