r - 计算序列总和的函数

标签 r

我正在尝试计算 R 中这个序列的总和。

在以下情况下,序列将有两个输入(1 和 11),

1 + (1 * 2/3 ) + (1 * 2/3 * 4/5) + ( 1 * 2/3 * 4/5 * 6/7) + ....................(1 *......10/11)

我认为,定义我自己的方法是去这里的方法。

最佳答案

您可以尝试在此处仅使用老式循环:

sum <- 0
num_terms <- 6
for (i in 1:num_terms) {
    y <- 1
    if (i > 1) {
        for (j in 1:(i-1)) {
            y <- y * (j*2 / (j*2 + 1))
        }
    }
    sum <- sum + y
}

您可以设置 num_terms到您想要的任何值,从 1到更高的值。在这种情况下,我使用 6条款,因为这是您问题中要求的条款数量。

有人可能会出现并将上面的整个代码片段减少到一行,但在我看来,这里有一个显式循环是合理的。

这是一个演示的链接,该演示打印出每个术语中使用的值,以进行验证:

Demo

关于r - 计算序列总和的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908474/

相关文章:

r - 在函数调用中使用变量时,MASS 包中的 glm.nb 链接函数不起作用?

r - 如何在 R 中创建缺少值的曲面图?

r - 按颜色对 ggplot facet_wrap 进行排序?

r - 为什么 chisq.test 的 2 个输出在 R 中不同

r - 有没有办法在本地服务器上运行 Shiny 的应用程序,以便公司中的每个人都可以访问?

r - 在做 glm 之前洗牌数据,然后重复 x 次

r - 如何取消列出矩阵元素列表并获得矩阵组合作为输出而不是R中的向量

r if else 基于多个条件

r - shapefile到R中的神经网络

r - 将 Excel 文件导入 R、xlsx 或 xls