필터 지우기
필터 지우기

Finding the sum to n of 1/2^n

조회 수: 7 (최근 30일)
Thomas
Thomas 2022년 10월 12일
편집: Davide Masiello 2022년 10월 12일
I'm trying to right a code which will output the sum of the series 1/2^n.
Ive used a for loop to iterate n from 1 to 20 for this example
My code keeps outputting 1/2^20 as the answer, instead of 1/2 + 1/2^2 + 1/2^3 ... +1/2^20
Here is my code
n = 0;
for n = 1:20
b = 1./(2.^n);
end
Sn = sum(b);
disp(Sn)
What am i doing wrong?

답변 (2개)

Davide Masiello
Davide Masiello 2022년 10월 12일
You haven't indexed the loop variable
for n = 1:20
b(n) = 1./(2.^n);
end
Sn = sum(b);
disp(Sn)
1.0000
You can also do it without loop
n = 1:20;
b = sum(1./(2.^n))
b = 1.0000
  댓글 수: 1
Davide Masiello
Davide Masiello 2022년 10월 12일
편집: Davide Masiello 2022년 10월 12일
Of course, if you need the series to start from n=0, just replace n = 1:20 with n = 0:20. That also means you can't use n as loop iteration index, so you change to
n = 0:20;
for i = 1:length(n)
b(i) = 1./(2.^n(i));
end
Sn = sum(b);
disp(Sn)
2.0000

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


Torsten
Torsten 2022년 10월 12일
편집: Torsten 2022년 10월 12일
format long
n = 1:20;
b = 1./2.^n;
Sn = sum(b)
Sn =
0.999999046325684

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by