how to make sum of (for loop)

4 Ansichten (letzte 30 Tage)
Mech
Mech am 7 Jun. 2014
Beantwortet: David Sanchez am 9 Jun. 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 Kommentare
Cedric
Cedric am 7 Jun. 2014
What have you done/tried so far?
Mech
Mech am 7 Jun. 2014
Bearbeitet: Mech am 7 Jun. 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

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Roger Stafford
Roger Stafford am 7 Jun. 2014
Bearbeitet: Roger Stafford am 7 Jun. 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 am 8 Jun. 2014
help guys :(
  1 Kommentar
Cedric
Cedric am 9 Jun. 2014
What doesn't work in the solution proposed by Roger?

Melden Sie sich an, um zu kommentieren.


David Sanchez
David Sanchez am 9 Jun. 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;

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by