# Taylor series in matlab

1 view (last 30 days)
Brendan Clark on 25 Apr 2021
Commented: Walter Roberson on 25 Apr 2021
I'm working on trying to approximate a taylor series for log(1+x) in matlab. However, I wasn't given an equation, and I haven't finished calculus yet and I'm struggling to get the right equation for the proximation. I can't use the built in functions in matlab to accomplish this sadly. Right now my code is.
x = linspace(0,pi, 100);
N=10;
logApprox = zeros(1,length(x));
for i = 1:length(x)
for j = 1:N
Number = (j - 1);
logApprox(i) = logApprox(i) + (-1)^(j + 1)*((x(i)^N)/N)^(Number)/factorial(Number);
end
end
disp(logApprox)
##### 2 CommentsShowHide 1 older comment
Brendan Clark on 25 Apr 2021
I understand how the equation is laid out in that format, I just don't have a deep enough grasp of calculus to turn that into a usable matlab equation.

Walter Roberson on 25 Apr 2021
- x^6/6 + x^5/5 - x^4/4 + x^3/3 - x^2/2 + x
Look at that more carefully. Suppose you have a loop index, K, then you have a term X^K/K*(-1)^(K+1)
After that what you need to know is to use the .^ operator instead of the ^ operator -- x.^K/K*(-1)^(K+1)
You do not need to loop over the x values; you can use vectorized calculations.
Walter Roberson on 25 Apr 2021
With a fairly small amount of extra work, you can eliminate the loop, but that requires understanding implicit expansion.