如何计算包括上升阶乘在内的总和?

时间:2016-07-01 14:51:50

标签: r list

我是编程和R的新手,想要计算以下总和

enter image description here

我使用pochMpfr包中的Rmpfr作为上升因子和for循环来计算总和。

B=rep(1,k+1)

for (i in 0:k) {
  B[(i+1)]= (-1)^i *choose(k,i)*pochMpfr((-i)*sigma, n)
}

sum(B)

这样做,我将结果作为列表(包括始终:mpfr),因此无法计算总和。

是否有可能立即将结果作为矩阵或将列表转换为仅包含相关元素的向量?

解决方案可能很简单但我在浏览论坛时却找不到它。

1 个答案:

答案 0 :(得分:2)

不需要使用for循环,这应该有效:

library(Rmpfr)
# You do not define these in your question,
# so I  just take some arbitrary values
k <- 10
n <- 3
sigma <- 0.3

i <- 0:k
B <- (-1)^i *choose(k,i)*pochMpfr((-i)*sigma, n)
sum(B)
## 1 'mpfr' number of precision  159   bits 
## [1] 6.2977401071861993597462780570563107354142915151e-14