Trying to use summation notation in a for loop

Hi I'm trying to estimate a cos graph using summation between 1:1, 1:2, 1:3, 1:4 and 1:5. How would I plot each of these individually?
Could someone help me out please! Thank you
x = -pi:0.1:pi;
ye = cos (x);
n = 5;
summe = 0.0;
for i = 1:n
summe = summe +((-1).^(i)).*((x.^(2.*i))./(factorial(2.*i)));
end
plot (x, summe);

 Accepted Answer

Birdman
Birdman on 26 Oct 2017
Edited: Birdman on 26 Oct 2017
Firstly, this code will give an error since X vector is 1x63 and n is 1x5. There will be a size mismatch. You have to correct this. Use the following code.
x = -pi:0.1:pi;
ye = cos (x);
n = length(x);%has to be same size with x
i = 1:n;
for k = 1:n
summe = summe +((-1).^(i)).*((x.^(2.*i))./(factorial(2.*i)));
end
plot(x,summe)

2 Comments

It's for some coursework I've been told to use a for loop
I have corrected it.

Sign in to comment.

More Answers (1)

x = -pi:0.1:pi;
ye = cos (x);
n = length(x);
i = 1:n;
summe = 0.0;
for k = 1:n
summe = summe +((-1).^(i)).*((x.^(2.*i))./(factorial(2.*i)));
end
plot (x, summe);

Categories

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

Asked:

on 26 Oct 2017

Commented:

on 26 Oct 2017

Community Treasure Hunt

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

Start Hunting!