My instructions are to calculate the result and absolute error for each partial sum: N = 10, 160, and 640. I am supposed to be getting the sum and error value for each N, but I am only getting the sum and error values for 640 only. I do not know why this is the case, as N equals 10, 160 and 640.
PLEASE DO NOT GIVE ME A COMPLETE ANSWER. I WOULD JUST LIKE TO KNOW WHAT I AM DOING WRONG. THANK U.
This is what I have so far:
for N=[10 160 640]
sum=0;
for n=1:N
y=1/n^2
sum=sum+y;
end
sum
error=((pi^2)/6)-sum
end

댓글 수: 3

You could vectorize the whole thing.
n=1:640;
s=cumsum(1./(n.^2));
e=abs(pi^2/6-s);
Kyle Donk
Kyle Donk 2020년 1월 14일
I have to use a for loop for this and most of the time we are not allowed to use Matlab's built-in functions.
Image Analyst
Image Analyst 2020년 1월 14일
Kyle, did you see my Answer (below)??? I already gave you hints for solving it using your current for loop.

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2020년 1월 14일

0 개 추천

Don't use sum as the name of your variable since that's already the name of a built-in function.
You need to assign N outside the loop and then get it inside the loop (method 1), OR use a counter to get the iteration number (method 2).
N=[10 160 640] % Method 1
for k = 1 : length(N)
thisN = N(k)
% more code to compute this sum.
end
Then you need to compute thisSum(k) and also index the error with the iteration loop counter:
thisError(k) = ((pi^2)/6) - thisSum(k);
so that you will have an error value for every iteration.

댓글 수: 1

Image Analyst
Image Analyst 2020년 1월 18일
Kyle, did this solve it? If so, please accept this answer, and any other answers for your other questions/threads. Thanks in advance.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2020년 1월 14일

댓글:

2020년 1월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by