0

我正在尝试使用 nls() 函数来拟合信息。公式为:在此处输入图像描述

但是R会生气:)

> dk1
                        Q   H
                1  43.754  21
                2  74.434  52
                3  94.601  72
                4 115.327  81
                5 135.751 109
                6  72.990  54
                7  35.756  12
                8  36.685   2
                9  35.799   2
> k1_H0
                [1] 0
> n_N <- nls(Q ~ a((H-k1_H0)^b)*(exp(1)^(c(log10(H-k1_H0)^2))), data = dk1, start = list( a = 0.1, b = 0.1, c=0.1), trace = T)
Error in eval(expr, envir, enclos) : could not find function "a"
4

1 回答 1

1

你可以试试:

nls(Q ~ a*((H-k1_HO)^b)*exp(c*(log10(H-k1_HO)^2)), data = dk1, start = list( a = 0.1, b = 0.1, c=0.1), trace = T)

应该使用适当的起始值给出结果(否则错误是提到“奇异梯度”)。

R 需要一个 * 符号才能知道它是一个乘法,否则 a() 或 c() 被视为函数。对于指数,您应该查看 ?exp。

于 2014-02-27T13:53:04.850 回答