Displaying output from a summation.

I'm trying to find partial sums of s=1/k^2 where k= multiples of 400. I'm using a "for" statement and want to have the script output the values at those multiples. At this point, I can only get it to output the final value. I want it to output the sums for k=400, 800, 1200, ... Also, I would like the output for the error for the actual sum.
Code is below.
format long
s=0;
for n=1:13
k=400;
end
for i=1:n*k
s=s+1/i^2;
y=abs(s-(pi^2/6));
end
disp([' Error', ' s_n'])
disp([y,s])
Thanks.

 Accepted Answer

Jan
Jan on 5 Oct 2015
Edited: Jan on 5 Oct 2015
fprintf('%20s%20s\n', 'Error', 's_n');
s = 0;
n = 13; % The FOR loop is meaningless?!
k = 400;
r = pi^2/6;
for i = 1:n*k
s = s+1/i^2;
if mod(i, 400) == 0
y = abs(s-r);
fprintf('%20g%20g\n', y, s);
end
end

1 Comment

Thanks Jan! Very nice: so mod(i,400)==0 tells the script to only display the sum for multiples of i=400. The other thing I would like is for the script to run for n= some undetermined number but stop when y<.0002. So when the error is less than that, the script stops. Does a "while" loop make sense?
Thanks.

Sign in to comment.

More Answers (0)

Categories

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

Tags

Asked:

on 5 Oct 2015

Commented:

on 5 Oct 2015

Community Treasure Hunt

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

Start Hunting!