R 从科学论文构建公式

R 从科学论文构建公式,r,formula,R,Formula,我正试图把一篇科学论文中的数学公式建立成R 在给出的示例中,我使用了164微米的变量。这是从我所附论文表3的第一个结果中得出的。你会在这张表中看到计算出的流速(相当漂亮!) 总的来说,我想得到两件事:侵蚀速度和沉积速度。我随附的论文使用了给出的公式。我试图构建一个包,通过这些公式可以运行数百个平均粒度(即变量)。在一个理想的世界里,我的主要目标是使用给定的公式构建一个代码,它获取变量(平均粒度)并输出可爱的数据。。。。我认为这是可能的,但不幸的是我的R技能不够 链接到公式: 链接到原始科学论文:

我正试图把一篇科学论文中的数学公式建立成R

在给出的示例中,我使用了164微米的变量。这是从我所附论文表3的第一个结果中得出的。你会在这张表中看到计算出的流速(相当漂亮!)

总的来说,我想得到两件事:侵蚀速度和沉积速度。我随附的论文使用了给出的公式。我试图构建一个包,通过这些公式可以运行数百个平均粒度(即变量)。在一个理想的世界里,我的主要目标是使用给定的公式构建一个代码,它获取变量(平均粒度)并输出可爱的数据。。。。我认为这是可能的,但不幸的是我的R技能不够

链接到公式:

链接到原始科学论文:

有5个方程,它们都互相影响。结果取决于我在开始时输入的一个变量

我得到了四个已知值:

  • p(水密度以m^3表示)
  • ps(颗粒密度为m^3)
  • g(重力加速度以m/s^2表示)
  • v(水的运动粘度以m^2/s表示)
一个变量(写为d)是沉积物样品的平均粒度

  • d变量。沉积物样品的平均粒度
例如,如果我的平均晶粒尺寸为164μm,则输入为1.64e-4

寻求帮助,因为我的结果肯定还没有达到应有的水平

p <- 1027.4     #water density (m^3)
ps <- 2650      #grain density (m^3)
g <- 9.81       #acceleration due to gravity (m/s^2)
v <- 1.4313e-6  #kinematic viscosity of water  (m^2/s)
z100 <- 100     #level above seabed (cms)
d <- 1.64e-4    #variable (mean grain size in microns)

p好的,让我们从头开始尝试

p <- 1027.4     #water density (m^3)
ps <- 2650      #grain density (m^3)
g <- 9.81       #acceleration due to gravity (m/s^2)
v <- 1.4313e-6  #kinematic viscosity of water  (m^2/s)
z100 <- 100     #level above seabed (cms)
d <- 1.64e-4    #variable (mean grain size in microns)
您的公式中再次出现错误:
.3/1+1.2*D
而不是
.3/(1+1.2*D)
。结果是

Ucr <- sqrt(Tcr / p)
结果为1.37E-5

Ue <- Ucr / .41 * log(z100 / z0)
好的,无单元

接下来,Tcr:公式的整个右侧部分是无单位的(仅取决于D)。否则,

m * s^-2 * kg * m^-3 * m = (m * kg * s^-2) * m^-2 = N / m^2.
好,也好

好的,现在使用的公式。同样,等式右侧的右侧部分是无单位的。其余的是

m^2 * s / m = m / s
至少这些单位都退房了


希望这能有所帮助。

好的,让我们从头开始尝试

p <- 1027.4     #water density (m^3)
ps <- 2650      #grain density (m^3)
g <- 9.81       #acceleration due to gravity (m/s^2)
v <- 1.4313e-6  #kinematic viscosity of water  (m^2/s)
z100 <- 100     #level above seabed (cms)
d <- 1.64e-4    #variable (mean grain size in microns)
您的公式中再次出现错误:
.3/1+1.2*D
而不是
.3/(1+1.2*D)
。结果是

Ucr <- sqrt(Tcr / p)
结果为1.37E-5

Ue <- Ucr / .41 * log(z100 / z0)
好的,无单元

接下来,Tcr:公式的整个右侧部分是无单位的(仅取决于D)。否则,

m * s^-2 * kg * m^-3 * m = (m * kg * s^-2) * m^-2 = N / m^2.
好,也好

好的,现在使用的公式。同样,等式右侧的右侧部分是无单位的。其余的是

m^2 * s / m = m / s
至少这些单位都退房了


希望这能有所帮助。

您是否尝试手动计算它?结果如何?肯定已经发现了一个bug:它应该是
Tcr4,你确定粒度是1.6e-4微米吗?这是1.6e-10米,或大约一埃半,比一个原子的大小小。细菌有几个微米;非常细的沙子大约有100微米。请检查你的单位,你有一些以微米为单位的值,一些以厘米为单位的值,一些以米为单位的值,幸好你每两周不用弗隆;-)另一个错误:我对删除的答案发表评论,而不是
D2(请随意将其作为补充说明添加到您的帖子中)。我不认为你的R技能是问题所在;但是在你开始写代码之前,拿一张纸和一支铅笔,还有(也许)一个计算器,试着确保你的计算结果是正确的。这就是我要做的。你试过手动计算吗?结果如何?肯定已经发现了一个bug:它应该是
Tcr4,你确定粒度是1.6e-4微米吗?这是1.6e-10米,或大约一埃半,比一个原子的大小小。细菌有几个微米;非常细的沙子大约有100微米。请检查你的单位,你有一些以微米为单位的值,一些以厘米为单位的值,一些以米为单位的值,幸好你每两周不用弗隆;-)另一个错误:我对删除的答案发表评论,而不是
D2(请随意将其作为补充说明添加到您的帖子中)。我不认为你的R技能是问题所在;但是在你开始写代码之前,拿一张纸和一支铅笔,还有(也许)一个计算器,试着确保你的计算结果是正确的。这就是我要做的。
Ue <- Ucr / .41 * log(z100 / z0)
 Uset <- v / d * ( sqrt(10.36^2 + 1.049 * D^3) - 10.36)
m * (m * s^-2 / (m^4 * s^-2))^(1/3) = 
m * (1/m^3)^(1/3) = m / m = 1
m * s^-2 * kg * m^-3 * m = (m * kg * s^-2) * m^-2 = N / m^2.
m^2 * s / m = m / s