I have following double summation: ∑10,i=1 ∑i,j=1 (i^5/(10+j^i))
我对这个练习很迷茫,我尝试了下面的代码,但尽管给了我一个数字,但它返回了一个错误 - 很确定它不正确。任何帮助都非常有价值!
i <- seq(1, 10, 1)
j <- seq(1, i, 1)
denominators <- 10+j^i
fractions <- (i^5)/denominators
sum(fractions)
or
i = rep(1:10, each=5)
j = rep(i, 10)
sum(i^5/(10+j^i))
计算内部总和的函数:
f <- Vectorize(function(i) {
j <- 1:i
sum(i^5 / (10 + j^i))
})
通过矢量化它,您可以将其应用于数组,它将逐个组件进行操作:这就是外部总和i说到做到。因此,该值为
sum(f(1:10))
另一种解决方案浪费 RAM 并且速度稍慢,它利用外积来计算一个矩阵中双和的所有项。您必须提取其中的条款j
不超过i
:
n <- 10
x <- outer(1:n, 1:n, function(i,j) i^5 / (10 + j^i))
sum(x[!upper.tri(x)])
不过,由于其紧凑性和简单性,这是一项值得了解的好技术。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)