How to find the partial sum of the series using while loop?
10 ビュー (過去 30 日間)
古いコメントを表示
I need to find the partial sum of the series S=1/n for n=5 using while loop.
n = 1 ;
s = 0 ;
while n<=5;
s = s+1/n ;
end
s
I tried using this code I have but matlab won't run. I am not sure what i am doing wrong.
0 件のコメント
採用された回答
DGM
2022 年 2 月 13 日
編集済み: DGM
2022 年 2 月 13 日
Using a while loop when the number of iterations is known is an unnecessary invitation for mistakes like that. You weren't incrementing n, so the loop would never exit. Just use a for-loop if you must use a loop.
s = 0 ;
for n = 1:5
s = s+1/n ;
end
s
If you don't need to use a loop, then things can be simplified.
s = sum(1./(1:5))
その他の回答 (1 件)
Image Analyst
2022 年 2 月 13 日
To get the partial sums (sums that depend on what element you're at), you can use cumsum()
n = 1 : 5;
s = cumsum(1 ./ n)
This is the "vectorized" way of doing it that most MATLAB programmers would use. s(end) is the final/last sum for all 5 elements. Or in the while loop
s = 0 ;
n = 1;
while n <= 5
s(n) = s(end) + 1 / n ;
n = n + 1; % Increment n
end
s(end)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!