how to make sum of (for loop)

6 visualizzazioni (ultimi 30 giorni)
Mech
Mech il 7 Giu 2014
Risposto: David Sanchez il 9 Giu 2014
I need for loop or any method to calculat next sum
  • m=1:n
  • a+2(cos(b))
  • a+2(cos(b)+cos(2b))
  • a+2(cos(b)+cos(2b)+cos(3b))
  • a+2(cos(b)+cos(2b)+.............cos(nb))
  2 Commenti
Cedric
Cedric il 7 Giu 2014
What have you done/tried so far?
Mech
Mech il 7 Giu 2014
Modificato: Mech il 7 Giu 2014
ok
  • a1=a+2(cos(b))
  • a2=a+2(cos(b)+cos(2b))
  • a3=a+2(cos(b)+cos(2b)+cos(3b))
I need value of a1,a2,a3

Accedi per commentare.

Risposte (3)

Roger Stafford
Roger Stafford il 7 Giu 2014
Modificato: Roger Stafford il 7 Giu 2014
Assuming b is a scalar,
s = a + 2*sum(cos((1:n)*b));
An alternate formula without the long summation is:
s = a + 2*cos((n+1)*b/2)*sin(n*b/2)/sin(b/2);

Mech
Mech il 8 Giu 2014
help guys :(
  1 Commento
Cedric
Cedric il 9 Giu 2014
What doesn't work in the solution proposed by Roger?

Accedi per commentare.


David Sanchez
David Sanchez il 9 Giu 2014
the for loop:
a = 3; % or whatever value you have in mind
b = 2; % or whatever value you have in mind
n = 10; % or whatever value you have in mind
your_sum = 0; % initialization of summation part
for m=1:n
your_sum = your_sum + cos(m*b);
end
your_sum = a + 2*your_sum;

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by