gpt4 book ai didi

r - 无循环求和

转载 作者:行者123 更新时间:2023-12-05 09:07:26 25 4
gpt4 key购买 nike

我有以下双重求和: ∑10,i=1 ∑i,j=1 (i^5/(10+j^i)) Double summation

我对这个练习很迷茫,我尝试了下面的代码,但它返回了一个错误,尽管它给了我一个数字——很确定它是不正确的。我们非常重视任何帮助!

    i <- seq(1, 10, 1) 
j <- seq(1, i, 1)
denominators <- 10+j^i
fractions <- (i^5)/denominators
sum(fractions)

enter image description here

    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 上的外部求和所要做的。因此,值(value)是

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

不过,由于它的紧凑性和简单性,这是一项很好的技术。

关于r - 无循环求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64812704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com