Calculate taylor series using while loop

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
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
James Tursa 2021 年 11 月 25 日
編集済み: James Tursa 2021 年 11 月 25 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

製品

リリース

R2021a

質問済み:

2021 年 11 月 23 日

コメント済み:

2021 年 11 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by