在 R 中求解具有两个未知数的方程

Solving equations with two unknowns in R

我正在对数据集进行分布拟合。我需要根据给定的函数/公式调整分布参数。我不知道如何解决 R

中的问题

这些数据集是降水数据集,形成了 14 种不同的降雨持续时间(5 分钟、10 分钟、15 分钟等)。对于每个数据集,我都适合一个分布。之后我需要将函数拟合到分布参数以获得降雨持续时间和分布参数之间的关系。

给出了每个分布参数的函数。 例如,位置参数的函数是: u(d) = a/d^b

其中 u(d) 是所有 14 个拟合分布的位置参数(对于每个持续时间 d),d 是持续时间 5、10、15、30、45、60、90、120、180、240、300、360、720 和 1440 分钟。我现在需要找到参数 a 和 b

我的问题在于不了解如何处理 R 中的问题,因为缺乏数学知识和英语术语知识不足。我已经开始阅读一些有关 deSolve 的内容,但我很快就感到困惑,甚至不确定我是否在正确的轨道上。

一个例子

u <- seq(0,60, length.out = 14) # these are the resulting location parameters

d <- c(5,10,15,30,45,60,90,120,180,240,300,360,720,1440)

所以,如果可能的话,我想获得有关如何解决问题以及如何设置方程式求解代码的建议。

我想我自己找到了解决方案 使用 nls(来自包 "stats")

d <- c(5,10,15,30,45,60,90,120,180,240,300,360,720,1440)
mu <- seq(5, 30, length.out = 14)

给出了 a 和 b 的阈值:

a需要大于0,b需要大于-1

start_a <- 0.1 # start-value higher than 0
start_b <- -0.9 # start-value higher than -1

然后我可以设置函数

mu_fun <- function(a,d,b) {
a/(d^b) }

最后 运行 具有函数和给定起始估计值的 nls

mu_fit <- nls(mu ~ mu_fun(a,d,b), start = list(a = start_a, b = start_b))