Calculate taylor series using while loop
28 次查看(过去 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!