Exemple la formula lui Taylor

Sinus

Reprezentați pe acelasi grafic functia și aproximantele pe intervalul .
clear all
sympref('default');
sympref('PolynomialDisplayStyle','ascend');
syms x n T
T=sym([0,0,0,0,0,0]);
taylor(sin(x), x, sym(0), 'Order', 13)
ans = 
T(1)=sin(x);
leg=cell(1,7); leg{1}='sin(x)';
for i = 1:6
T(i+1) = taylor(sin(x),x,sym(0),'Order',2*i);
leg{i+1}=sprintf('T_{%1d}',2*i-1);
end
fplot(T, [-2*pi,2*pi],'LineWidth',3);
grid on
title('Function $\sin(x)$ and its Taylor polynomials','Interpreter','Latex')
legend(leg,'Location',"bestoutside")

Exponențiala

La fel pentru exp(x) si aproximantele T (1) , T (2) , ..., T (5) .
clear all
syms x T
taylor(exp(x), x, sym(0), 'Order', 7)
ans = 
T=sym([0,0,0,0,0]');
%Te = @(n, x) taylor(exp(x), x, sym(0), 'Order', n + 1)
leg=cell(1,6); leg{1}=texlabel(exp(x));
for i = 1:5
T(i) = taylor(exp(x),x,sym(0),'Order',i+1);
leg{i+1}=texlabel(T(i));
end
fplot([exp(x);T], [-1,3]);
ylim([-1,21])
title('Function $\exp(x)$ and its Taylor polynomials','Interpreter','Latex')
legend(leg,'Location','best')

Logaritm natural

Deduceti seria Taylor pentru si aproximati ln 2 folosind primii 8 termeni. Cati termeni sunt necesari pentru a obtine ln 2 cu 5 zecimale corecte?
syms s
tln=taylor(log(1 + x), x, sym(0), 'Order', 8)
tln = 
subs(tln, x, sym(1))
ans = 
vpa(ans)
ans = 
0.75952380952380952380952380952381
vpa(log(sym(2)))
ans = 
0.69314718055994530941723212145818
Numărul de termeni se obține ținând cont că seria este alternată și eroarea este mai mică decât modulul primul termen neglijat
syms n
s=solve(1/(n + 1) < vpa('0.00001'), n);
nrtermeni=s(1)
nrtermeni = 
100000.0
Totusi, in vecinatatea lui 0 lucrurile merg bine
subs(tln, x, vpa('0.1'))
ans = 
0.095310180952380952380952380952381
log(vpa('1.1'))
ans = 
0.095310179804324860043952123280765
Imbunatatire: se dezvolta ; dezvoltarea Taylor se poate obține scăzând cele două dezvoltări.
tln2=taylor(log((1 + x)/(1 - x)), x, sym(0), 'Order', 15)
tln2 = 
xo=solve((1 + x)/(1 - x) == sym(2), x)
xo = 
% aflam punctul
log3=subs(tln2, x, xo)
log3 = 
vpa(log3)
ans = 
0.69314717025601206535684680953864
vpa(log(sym(2)))
ans = 
0.69314718055994530941723212145818
vpa(subs((sym(1/3))^(2 * n - 1)/(2 * n - 1), n, sym(5)))
ans = 
0.0000056450292694767622370121989082513
subs(taylor(log((1 + x)/(1 - x)), x, sym(0), 'Order', 7), x, sym(1/3))
ans = 
vpa(ans)
ans = 
0.693004115226337448559670781893
vpa(log(sym(2)))
ans = 
0.69314718055994530941723212145818