Calculate taylor series using while loop
34 ビュー (過去 30 日間)
古いコメントを表示
I want to calculate the taylor series of ln(5) using a while loop.
x = 1/5;
tol = 1e^-9;
s = 0;
i = 0;
term = (x-1)
while abs(term) > tol
s = s+term;
i = i+1;
term = (-1.^i)*(((x-1).^i)./1);
end
disp(s)
1 件のコメント
Dyuman Joshi
2021 年 11 月 24 日
編集済み: Dyuman Joshi
2021 年 11 月 25 日
Why are you defining x = 1/5 when you are calculating expansion for the value 5?
Also, the formula for term in the loop is incorrect.
回答 (1 件)
James Tursa
2021 年 11 月 25 日
編集済み: James Tursa
2021 年 11 月 25 日
Looks like you are planning to use the identity ln(5) = ln((1/5)^-1) = -ln(1/5) and then use 1/5 as the x in the Taylor Series expansion that is good for 0 < x <= 2. However, the problems are:
- The divisor in your term needs to be i, not 1
- The initial value of i should be 1, not 0
- The -1 factor needs to be wrapped in parentheses and have a different exponent, i.e. (-1)^(i-1)
- Per above, you need to display -s, not s
参考
カテゴリ
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!