2013-05-03 3 views
0

Я думал, что это будет просто, но я почесал голову и не смог найти правильный путь.R суммирование серии с индексом

Я хотел бы вычислить суммирование серии А:

< - * суммирование ((я = 2 к I = S) * К (C1 + C2 (I-1)))

где k, c1 & c2 - фиксированные значения.

Expand А, я хотел бы получить сумму всех этих:

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 

Видимо это не «сумма» все из них, но рассчитываются их независимо друг от друга.

Так что же представляют собой правильные коды для суммирования?

Спасибо.

+0

Я волнуюсь. Очень волнуется ... что вы думаете, что форма «(n)» каким-то образом связана с выбором n-го элемента из вектора значения. В R выполняется с "[n]", а не "(n)". –

ответ

3

Возможно, как это:

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

sum(K * (c1 + (c2 * (1:4)))) 
+0

Спасибо. Я знал, что все должно быть так просто. :П – lamushidi

Смежные вопросы