how to make sum of (for loop)

1 view (last 30 days)
Mech
Mech on 7 Jun 2014
Answered: David Sanchez on 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 Comments
Cedric
Cedric on 7 Jun 2014
What have you done/tried so far?
Mech
Mech on 7 Jun 2014
Edited: Mech on 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

Sign in to comment.

Answers (3)

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

Sign in to comment.


David Sanchez
David Sanchez on 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;

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!