0

我认为这应该很容易,但我一直在摸索,找不到正确的方法。

我想计算A系列的总和:

A<-*求和((i=2 to i=s) *K(c1+c2(i-1)))

其中 k、c1 和 c2 是固定值。

展开 A,我想得到所有这些的总和:

K(c1+c2(2-1))+K(c1+c2(3-1))+.......K(c1+c2(s-1))

为了在 R 中做到这一点,这是我写的:

A<-function(s){
    for (i in 2:s){
    c1=5
    c2=13.6
    k=10
    sum(k*(c1+c2*(i-1)))
}}

但是当我这样做时

A(5)

它没有想出任何东西

所以我修改了函数并要求它打印它做了什么:

A<-function(s){
    for (i in 2:s){
    c1=5
    c2=13.6
    k=10
    a<-sum(k*(c1+c2*(i-1)))
    print(a)
}}

> A(5)
[1] 186
[1] 322
[1] 458
[1] 594

显然,它并没有“总结”所有这些,而是​​独立计算它们。

那么,求和的正确代码到底是什么?

谢谢。

4

1 回答 1

3

或许是这样的:

K <- 10
c1 <- 5
c2 <- 13.6

sum(K * (c1 + (c2 * (1:4))))
于 2013-05-03T21:53:54.517 回答