while loop doesn't produce correct result

sum = 0;
n = 0;
C = (2/(pi*(1-4*n^2)))^2;
while sum < (1/2)*0.99
n = n+1;
sum = sum + C;
end
disp(['number of terms:',num2str(n),'sum',num2str(sum)])
These are my codes. I want matlab to keep calculating until sum is greater than 99% of a half. However it stops at the first calculation and the result is clearly wrong. Any help would be greatly appreciated! Thanks!

 채택된 답변

Roger Stafford
Roger Stafford 2017년 4월 12일

1 개 추천

You have not placed the line "C = (2/(pi*(1-4*n^2)))^2;" inside the 'while' loop where it could be updated with changing values of 'n', so 'C' stays constant. That will produce erroneous computation for you.

댓글 수: 2

Jimmy W
Jimmy W 2017년 4월 12일
If I put the C line in the loop, it never stops calculating. The equation is always positive so at some point the sum should reach the target value. Is there anything else that I have done wrong?
James Tursa
James Tursa 2017년 4월 12일
C get small rather quickly, so the sum never even gets close to 1/2.

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

추가 답변 (0개)

카테고리

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

태그

질문:

2017년 4월 12일

댓글:

2017년 4월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by