Formula di Taylor

Il comando "Series" calcola il polinomio di Taylor della funzione argomento, con centro nel punto indicato e fino all'ordine indicato.

Series[Exp[x+x^2],{x,0,6}]

Series[Exp[x^2],{x,6,4}]

Series[ArcTan[x],{x,0,10}];
Print[%]

Se vogliamo il polinomio senza l'indicazione dell'errore usiamo il comando "Normal"

Normal[Series[Exp[x^2],{x,0,4}]]

Normal[Series[Sin[x],{x,Pi,10}]]
Print["Polinomio di Taylor="%]

Normal[Series[Cos[x],{x,0,10}]];
Print["Polinomio di Taylor="%]

Normal[Series[Log[1+x],{x,0,10}]];
Print["Polinomio di Taylor="%]

Per valutare il polinomio per un valore determinato della variabile si usa il comando "/.x-> valore"

Normal[Series[Exp[x^2],{x,0,4}]]/.x->2

Print[Table[N[E-Normal[Series[Exp[x],{x,0,k}]]/.x->1],{k,1,10}]]

(1+1/10)^10

Allo stesso modo si puo' definire la funzione taylor delle tre variabili x, centro di sviluppo e grado:

taylor[x_,centro_,grado_]:=Normal[Series[Exp[t],{t,centro,grado}]]/.t->x

Facciamo il disegno della funzione e di alcuni polinomi di Taylor.
La funzione e' disegnata in nero e i vari polinomi di Taylor in rosso.

f[x_]:=Exp[x];
centro=0;
Plot[{f[x],taylor[x,centro,6],taylor[x,centro,1]},{x,centro-6,centro+6},PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0],RGBColor[1,0,0]},
PlotLabel->f[x]]
Print[{"I polinomi di Taylor di grado 3 e 6 di" f[x]}]
taylor[x,centro,1]
taylor[x,centro,2]

f[x_]:=Exp[x]
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Manipulate[centro=0;
Plot[{Exp[x],taylor[x,centro,n]},{x,centro-3,centro+3},PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-1,10},PlotLabel->taylor[x,centro,n]],{n,1,10,1}]

Clear[f,taylor,centro,grado]
f[x_]:=Log[1+x]
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Manipulate[centro=0;
Plot[{f[x],taylor[x,centro,n]},{x,centro-2,centro+5},PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-3,3},PlotLabel->taylor[x,centro,n]],{n,1,10,1}]

Clear[f,taylor,centro,grado]
f[x_]:=Sin[x]
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Manipulate[centro=0;
Plot[{f[x],taylor[x,centro,n]},{x,centro-10,centro+10},PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-2,2},PlotLabel->taylor[x,centro,n]],{n,1,21,1}]

f[x_]:=Sqrt[1+x]
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Manipulate[centro=0;
Plot[{f[x],taylor[x,centro,n]},{x,centro-1,centro+3},PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-2,2},PlotLabel->taylor[x,centro,n]],{n,1,11,1}]

N[ArcTan[1/2]-Pi/6]

Clear[f]
f[x_]:=Log[x];
grado=15;
centro=1;
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Normal[Series[f[t],{t,centro,grado}]]
Plot[{f[x],taylor[x,centro,grado]},{x,0,7}, PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-1.5,1.5}]

Clear[f]
f[x_]:=Exp[x];
centro=0;
gradomassimo=5;
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Do[
Plot[{f[x],taylor[x,centro,grado]},{x,-10,5},
PlotLabel->"Polinomio di Taylor", PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-2,10} ],{grado,gradomassimo}]

Clear[f,taylor]
f[x_]:=Log[1+x];
n:=40
taylor[t_,n]:=Normal[Series[f[x],{x,0,n}]]/.{x->t}
Plot[{f[t],taylor[t,n]},{t,-1,6}, PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-5,5}]

Clear[f]
f[x_]:=Exp[x];
centro=2;
grado=3;
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Plot[{f[x],taylor[x,centro,grado]},{x,-2,5},
PlotLabel->"Polinomio di Taylor", PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]} ]

Clear[f]
f[x_]:=ArcTan[x];
centro=0;
grado=10;
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Plot[{f[x],taylor[x,centro,grado]},{x,-5,5},
PlotLabel->"Polinomio di Taylor", PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-2,2} ]

Clear[f]
f[x_]:=Sin[x];
centro=0;
grado=21;
taylor[x_,centro_,grado_]:=Normal[Series[f[t],{t,centro,grado}]]/.t->x
Plot[{f[x],taylor[x,centro,grado]},{x,-10,10},
PlotLabel->"Polinomio di Taylor", PlotStyle->{RGBColor[0,0,0],RGBColor[1,0,0]},PlotRange->{-1.1,1.1} ]