Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
求解R中两个未知量的方程_R_Solver_Differential Equations - Fatal编程技术网

求解R中两个未知量的方程

求解R中两个未知量的方程,r,solver,differential-equations,R,Solver,Differential Equations,我正在将分布拟合到数据集。我需要根据给定的函数/公式调整分布的参数。我不知道如何着手解决R中的问题 这些数据集是降水量数据集,来自14种不同的降雨持续时间5分钟、10分钟、15分钟等。。对于每个数据集,我适合一个分布。之后,我需要对分布参数拟合一个函数,以获得降雨持续时间和分布参数之间的关系 给出了每个分布参数的函数。 例如,位置参数的函数为: ud=a/d^b 式中,ud是每个持续时间d的所有14个拟合分布的位置参数,d是持续时间5,10,15,30,45,60,901201802403003

我正在将分布拟合到数据集。我需要根据给定的函数/公式调整分布的参数。我不知道如何着手解决R中的问题

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

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

式中,ud是每个持续时间d的所有14个拟合分布的位置参数,d是持续时间5,10,15,30,45,60,90120180240300360720和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

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))

我想我自己可能找到了一个解决方案,使用nls