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 个评论

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
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 Exchange 中查找有关 Mathematics 的更多信息

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by