# How do i write the function for the taylor polynomial of cos(x) using for loops and no anonymous function

27 views (last 30 days)
B on 1 Sep 2021
Commented: B on 2 Sep 2021
Pn is the taylor polynomial of the degree (at most) n centred at x0=0 for the function cos(x)
The function should take inputs a and n and return Pn evaluated at x=a
function Pn = taylor_cos(a,n)
x=a;
Pn=1;
for i=1:n;
end
% thats my version but for some reason its incorrect
B on 2 Sep 2021
apologise i had inputed the modifed code incorrectly, its working now

Wan Ji on 2 Sep 2021
If a large x is selected, then use
function Pn = taylor_cos(a,n)
x=mod(abs(a),2*pi); %
if(x>=pi)
x = 2*pi-x;
end
Pn=1;
for i=1:n
end

John D'Errico on 2 Sep 2021
We can see how well it works. Your code is below.
Now, let me test it out, in a symbolic form.
syms X
P8 = taylor_cos(X,4)
P8 = Is that a correct Taylor expansion for cos(X)?
Yes. In fact, it is.
taylor(cos(X),'order',10)
ans = Does it correctly extimate cos(X), for reasonably small X?
taylor_cos(0.1,4)
ans = 0.9950
cos(0.1)
ans = 0.9950
It seems to predict reasonably well.
My guess is you are hoping this will predict correctly for large values of X. And that is of course not true.
taylor_cos(20,10)
ans = 2.0966e+07
Yes, that is garbage. Perhaps you need to do some reading about convergence of infinite series. Even if this series will converge in theory, after a vast number of terms, this does not mean you will expect it to converge in practice, using computation with a finite number of decimal digits.
function Pn = taylor_cos(a,n)
x=a;
Pn=1;
for i=1:n;
end
end

### Categories

Find more on Calculus in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!