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
Mech
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 Wannaz
Cedric Wannaz 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;

Community Treasure Hunt

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

Start Hunting!