編輯:我想不出一個更精確的問題標題,但請讓我知道我可以使用什么更好的標題,謝謝!
我有一個“基本”數學問題,我無法將其轉換為 R 代碼。如果我每年向土壤中添加 4 公斤的巖石,并且每年添加的所有巖石中的1%會溶解,那么在 n 年后我會溶解多少(以公斤為單位)的巖石?(例如 n=47 歲)。
你知道 R 中的代碼或函式可以幫助我計算嗎?
非常感謝!
為了清楚起見,前三年的計算如下所示:
第一年
第一年我申請了 4 公斤,到年底,我有 A1 = 0.01x4 = 0.04 公斤的巖石溶解
第二年
第二年,我仍然有第一年的 4-(0.01x4)= 3.96 公斤未溶解的巖石,我再次申請了 4 公斤的巖石。我總共有 3.96x4 = 7.96 公斤的石頭。我將在第 2 年年底溶解 A2 = 0.01x7.96 = 0.0796 千克巖石,并且從第 1 年開始溶解 A1 = 0.04 千克巖石
所以在第 2 年年底,我將總共溶解 0.04 0.0796 = 0.1196 公斤的巖石
第 3 年
第 3 年年初的未溶解巖石總量:4 公斤(第 3 年施用) 3.96 公斤(第 2 年施用) 3.96-(3.96x0.01) = 3.92 公斤(第 1 年施用)。我總共有 4 3.96 3.92= 11.88 公斤未溶解的巖石。在第 3 年年底,我將有 A3 = 0.01x11.88 = 0.1188 公斤溶解的巖石
第3年末溶巖總量:A3 A2 A1 = 0.1188 0.0796 0.04 = 0.2384公斤溶巖
uj5u.com熱心網友回復:
1)如果 u[i] 和 d[i] 是第 i 年末未溶解和溶解的巖石,如果我們要計算 n 年,那么:
n <- 3
u <- numeric(n)
u[1] <- 4
for(i in 2:n) u[i] <- (1-0.01) * u[i-1] 4
u
## [1] 4.0000 7.9600 11.8804
d <- cumsum(0.01 * u)
d
## [1] 0.040000 0.119600 0.238404
2)我們可以像這樣交替使用Reduce:
n <- 3
u <- Reduce(function(x, y) (1-0.01)*x 4, numeric(n-1), init = 4, acc = TRUE)
u
## [1] 4.0000 7.9600 11.8804
d <- cumsum(0.01 * u)
d
## [1] 0.040000 0.119600 0.238404
uj5u.com熱心網友回復:
我的評論是對cumsum(0.01 * u)最終答案的影響,即在 47 時間溶解了多少巖石:
n <- 47
u <- numeric(n)
u[1] <- 4
for(i in 2:n) u[i] <- (1-0.01) * u[i-1] 4
u[47]
[1] 150.5898
d <- cumsum(0.01 * u)
d[47]
[1] 38.91606
d[47]/u[47]
[1] 0.2584242
# as against
d2 <- 0.01 * u
d2[47]
[1] 1.505898
d2[47]/u[47]
[1] 0.01
金礦堆的硫酸,也許d,水,也許d2。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474848.html
上一篇:HowtocreateTradingViewindicatorsthatlooklikethis?
下一篇:如何擴展或“放大”一維陣列?
