Något om Taylors formel och Mathematica
Bertil Nilsson 2021-08-15
I am the bestμ
Ett av Brooks många ödmjuka inlägg i den infekterade striden som under början av 1700 talet utkämpades mellan den engelska och den tyska skolan inom matematisk analys.
Brook Taylor 1685 1731 ť Taylors formel
Polynom är i många avseenden de enklaste funktionerna vi har i matematiken. Operationer som addition, subtraktion, multiplikation, derivation samt integration av polynom är ju odramatiska och ger som resultat ett nytt polynom. Dessutom är de enkla att beräkna, för detta behövs bara vanlig addition, subtraktion och multiplikation. Detta gäller inte för övriga elementära funktioner som x, xΑ, ln x , cos x , sin x , där funktionsvärden nästan alltid måste anges som närmevärden. Det ligger då nära till hands att approximera krångliga funktioner med hjälp av polynom. I själva verket bevisade Karl Weierstrass (1815-1897) att alla kontinuerliga funktioner kan approximeras till godtycklig noggrannhet med polynom, så vi står på stabil mark. Det approximerande polynomet kan givetvis väljas på olika sätt. Om vi vill ha en bra approximation av en funktion f x i närheten av en punkt x a så kan vi ju välja polynomet p x av grad n så att p a f a , p' a f ' a , p'' a f '' a , , pn a f n a . Det finns då anledning att förmoda att p x är en bra approximation av f x inte bara för x a, där det ju är exakt p a f a , utan också för värden i närheten av a och att den blir allt bättre med ökande n. Detta sätt att bestämma p x av gradtal n kan visas med partiell integration och resulterar i Taylors formel.
Vi säger att vi Taylorutvecklar f x kring (stöd)punkten x a.
f x f a f ' a x a 12f '' a x a2 n1 f n a x an n 11 f n 1 Ξ x an 1 (1)
där sista termen är en restterm R x f 'n 1n 1 Ξ x an 1 och Ξ är ett tal mellan x och a. De andra termerna kallar vi för Taylorpoly- nomet pnx av grad n till f x i punkten a. Specialfallet a 0 är så vanligt att det fått namn efter en annan engelsk matematiker, Maclaurins formel. Uttrycket n! känner vi igen från beräkning av Binomialkoefficienter som n-fakultet, vilket för icke-negativa heltal definieras som n n n 1 n 2 2 1 med 0 1. Resttermen ska uppfattas som ett mått på det fel man får då man approximerar f x med pn x . Datorer använder på ett strategiskt sätt olika Taylorpolynom i olika intervall för att med given feltoler- ans så snabbt som möjligt kunna leverera funktionsvärden till de tidigare nämnda elementära funktionerna. I Mathematica levereras Taylorutvecklingen av funktionen Series[f[x],{x, a, n}]. För att ”bli av” med resttermen, det vill säga få Taylorpoly- nomet, används Normal.
En vanlig användning är att linearisera en funktion kring en given punkt a, det vill säga att i punktens omgivning approximera funktionen med dess tangent i punkten a. En annan är då man för hand ska bestämma besvärliga gränsvärden lim
x 0 f x
g x som är av typen “00”. Med hjälp av Maclaurins formel kan man nämligen härleda den så nyttiga l’Hospitals regel: Antag att f x och g x är
två gånger kontinuerligt deriverbara i en omgivning av x 0 samt att f 0 g 0 0, det vill säga vi har ett gränsvärde av typen “00”.
Om dessutom g ' 0 0 gäller
limx 0 f x
g x lim
x 0 f ' x g' x
Funktionen Limit i Mathematica är naturligtvis bestyckad med denna kunskap.
Exempel: Bestäm Taylorpolynomet av grad 1 till f x x i punkten x 0.
Lösningsförslag: Vi får direkt Taylorpolynomet, eller Maclaurinpolynomet eftersom a 0.
p1 x f 0 f ' 0 x 0
Detta är inget annat än enpunktsformeln y y0 f ' x0 x x0, så Taylorpolynomet av grad 1 i en punkt är inget annat än tangen- ten till kurvan i punkten.
Eftersom alla derivator f k 0 0 1 får vi direkt
p1 x 1 1 x 0 1 x
I Mathematica har vi Taylorutvecklingen. Symbolen O xn kallas stort Ordo och representerar här resttermen, det vill säga termer innehållande xm, m n.
Tu Series x, x, 0, 1 1 x Ox2
och Taylorpolynomet p1 Normal Tu x 1
En liten bild kan inte skada
Plot x, p1 , x, 1, 1 , PlotStyle Red, Blue , AxesLabel "x", " x,p1 x "
1.0 0.5 0.5 1.0 x
0.5 1.0 1.5 2.0 2.5
ͥx,p1x
Exempel: Då x är litet har man ofta användning för uppskattningarna sin x x och cos x 1 x22. Visa dessa med Taylors formel samt uppskatta felet då 0 x 36Π. (Vinkeln 36Π rad motsvarar 5 ).
Lösningsförslag: Vi börjar med sin x . Efter lite deriverande får vi direkt med (1) Taylorutvecklingen kring a 0.
sin x sin 0 cos 0 x 0 21 sin 0 x 02 31 cos 0 x 02 n 11 f n 1 Ξ x 0n 1 Eftersom sin 0 0 och cos 0 1 och önskar termer av högst grad 1 har vi därmed visat att
sin x sin 0 cos 0 x 0 21 sin 0 x 02 31 cosΞ x 03 x 31 cosΞ x3 Felet i uppskattningen sin x x i angivet intervall ges av resttermen
1
3 cosΞ x3 31 cos 0 36Π3 0.00012 På samma sätt får vi för uppskattningen cos x 1 x22
cos x cos 0 sin 0 x 0 21 cos 0 x 02 31sin 0 x 03 41cosΞ x 04 1 21x2 41cosΞ x4
Med feluppskattningen
1
4 cosΞ x4 41cos 0 36Π4 0.0000025
Exempel: Som tidigare antytts kan man med ökat gradtal förvänta sig allt bättre överensstämmelse mellan funktionen och Taylor- polynomet allt längre bort från stödpunkten. Vi illustrerar med sin x utvecklat kring x 0 med stigande gradtal, 1, 3, 5.
f Sin x , Table Normal Series Sin x , x, 0, i , i, 1, 5, 2 Flatten
sin x , x, x x3 6, x5
120 x3
6 x
Plot Evaluate f , x, 2 Π, 2 Π , PlotStyle Red, Orange, Cyan, Blue , AxesLabel x, "sin x ,p1 x ,p3 x ,p5 x "
6 4 2 2 4 6 x
10 5 5 10
sinx,p1x,p3x,p5x
Exempel: Bestäm Taylorpolynomet av grad 5 till f x x i punkten x 0.
Lösningsförslag: Vi får direkt Taylorpolynomet, eller Maclaurinpolynomet eftersom a 0.
p5x f 0 f ' 0 x 0 21 f '' 0 x 02 31 f 3 0 x 03 41 f 4 0 x 04 51 f 5 0 x 05 Eftersom alla derivator f k 0 0 1 får vi direkt
p5x 1 x 12x2 16x3 241 x4 1201 x5 I Mathematica har vi Taylorutvecklingen
Tu Series x, x, 0, 5
1 x x2 2
x3 6
x4 24
x5 120 Ox6
och Taylorpolynomet p5 Normal Tu
x5 120
x4 24
x3 6
x2
2 x 1
Exempel: Här kommer några exempel på Taylorutvecklingar som man hittar i standard tabellverk och som kommer till användning lite då och då. Med Mathematica är det naturligtvis enkelt att utveckla “vad man vill” till valfritt gradtal och kring valfri punkt.
Series Sin x , x, 0, 3
x x3 6 Ox4
Series Cos x , x, 0, 2
1 x2 2 Ox3
Series Tan x , x, 0, 3
x x3 3 Ox4
Series Log 1 x , x, 0, 2
x x2 2 Ox3
Series x, x, 0, 3
1 x x2 2
x3 6 Ox4
Series 1 x n, x, 0, 1 1 n x Ox2
Exempel: Bestäm Taylorpolynomet av grad 7 till f x cos sin2x tan x i punkten x 1.2.
Lösningsförslag: I gamla tider hade man väsentligen två vägar att välja på. Antingen tog man fram sitt tabellverk över standard- utvecklingar enligt föregående exempel och komponerade sedan med mödosamt handarbete ihop den sammansatta utvecklingen, eller så gick man direkt på definitionen (1) och kände en stark olustkänsla över alla derivator som väntade. Har man upplevt detta är det en sann njutning att använda Mathematica som inte räds hårt arbete
p7 NormalSeriesCos Sin x 2 Tan x , x, 1.2, 7
13 223.4 x 1.27 7540.01 x 1.26 2656.63 x 1.25
701.322 x 1.24 118.624 x 1.23 7.56893 x 1.22 8.95382 x 1.2 0.241164
Expand p7
13 223.4 x7 103 537. x6 348 246. x5 652 128. x4 734 130. x3 496 745. x2 187 041. x 30 229.3
Exempel: Man har funnit att en av rötterna till x4 2x3 4x 20 0 är ungefär 3. Förbättra detta närmevärde!
Lösningsförslag: En bild över situationen får man som vanligt genom just en bild.
Plotx4 2 x3 4 x 20, x, 2, 3 , PlotStyle Red
2.2 2.4 2.6 2.8 3.0
10 5 5 10 15 20
Verkar ok ! Låt nu f x x4 2x3 4x 20 och x0 3. För något h har vi då f x0 h 0. Taylorutveckla kring x x0 så får vi 0 f x0 h f x0 f ' x0 x0 h x0 och lös ut h f ' xf x0
0. Alltså bör x1 x0 h x0 f x0
f ' x0 vara ett bättre närmevärde till roten än vad x0 är. För att få ett ännu bättre upprepar vi naturligtvis med x1, och får en följd x0, x1, x2, med allt bättre närmevärde. Av konstruktionen, se fig nedan, ser vi att xn 1 är nollställe till tangenten i punkten xn, f xn .
x0
x1
x2
x fx,väg
Denna metod kallas Newton-Raphson's metod och kan sammanfattas att med givet x0 upprepa (iterera) xn 1 xn f xn
f ' xn
tills dess önskad noggrannhet xn 1 xn Ε uppnåtts. Vi provar på vårt specifika bekymmer f x : x4 2 x3 4 x 20
NewRap x : x f x f ' x
väg NestList NewRap, 3.0, 5 3., 2.67241, 2.57844, 2.57141, 2.57138, 2.57138
Som synes har vi redan efter några iterationer nått gott resultat, detta kallas för konvergens. Newton-Raphsons metod som beskriven ovan är själva embryot som ur ett flertal aspekter kan effektiviseras och ge upphov till en hel familj med lösningsmetoder. Att ha effektiva numeriska algoritmer är helt avgörande för all modern tillämpad matematik. Mathematica är ett utmärkt exempel på detta.
FindRoot f x 0, x, 3 x 2.57138
Exempel: Använd Newton-Raphsons metod för att dra roten ur ett positivt tal.
Lösningsförslag: Detta är precis vad datorer gör när man beställer kvadratroten ur ett positivt tal! Strategin är att istället för en direkt beräkning av a med Taylorutveckling till lämpligt gradtal söker vi den positiva roten till f x x2 a 0 med Newton- Raphsons metod. Vi får
xn 1 xn f xn
f ' xn xn xn2 a 2xn
1 2xn a
xn
Som startvärde x0 kan man i brist på bättre använda a själv. Vi provar på 100
NewRap x : 1 2
x 100.0 x NestList NewRap, 100, 10
100, 50.5, 26.2401, 15.0255, 10.8404, 10.0326, 10.0001, 10., 10., 10., 10.
Exempel: Ibland ser man att Taylorutveckling används för att finna approximativa lösningar till besvärliga differentialekvationer eller integraler. Som exempel tar vi 01 x2 x.
Lösningsförslag: Integralen som dyker upp i så vitt skilda områden som statistik, design av kameralinser eller avfarter till motorvä- gar är inte elementär, så det går inte att konstruera en primitiv funktion med hjälp av våra “vanliga” elementära funktioner. Vi provar med att Taylorutveckla integranden kring mittpunkten i intervallet. Kör på med stigande gradtal n 1, 3, 6, för att bli något övertygade om att det fungerar.
Tu Series x2, x, 0.5, & 1, 3, 6, 9 Normal Expand
1.1682 0.778801 x, 0.649001 x3 1.3629 x2 0.0973501 x 0.989726,
0.0335317 x6 0.366685 x5 0.82342 x4 0.164954 x3 0.950178 x2 0.00831532 x 1.00059, 0.0139093 x9 0.0453045 x8 0.0152013 x7 0.190757 x6 0.0187771 x5 0.4909 x4 0.00287036 x3 1.00058 x2 0.0000675288 x 0.999996
PlotEvaluateJoin x2, Tu, x, 0, 1 ,
PlotStyle Red, Orange, Green, Blue, Magenta , AxesLabel "x", " x2,p1 x ,p3 x ,p6 x ,p9 x "
0.2 0.4 0.6 0.8 1.0 x
0.6 0.8 1.0 1.2
ͥx2,p1x,p3x,p6x,p9x
Sedan är det bara att integrera mängder av xn.
0 1
Tu x
0.778801, 0.746351, 0.746831, 0.746824
Numera använder man sig av mera sofistikerade metoder för att finna approximativa lösningar både till differentialekvationer och integraler. Avslutningsvis låter vi Mathematica komma till tals i ärendet
N
0 1
x2
x
0.746824
Exempel: Om nyttan av Taylorutveckling när man leker snickare!
Antag att vi skall sätta lister längs golvet i ett rum och att den aktuella väggen är L lång. Att mäta upp listen till rätt längd om denna är flera meter ger nästan garanterat en list som efter sågning är något för lång eller något för kort. Ett betydligt mindre fel gör vi om vi istället använder Pytagoras sats och Taylorutveckling! Såga först till listen så att den blir något för lång och lägg den “på plats”.
Vi har då situationen
a L+x
L
där a är avståndet på den mötande väggen och x det stycke vi ska kapa av på listen för att den ska passa finfint! Vi har då med Pytagoras sats att L2 a2 L x2 L2 a2 L x2 0. Utnyttja nu att x är litet i förhållande till L och Taylorutveckla vän- sterledet till grad 1
listig SeriesL2 a2 L x 2, x, 0, 1 a2 2 L x Ox2
Nu är det bara att lösa ut x och få en “passande” formel. Vi ser av konstruktionen att den dessutom är mycket förlåtande mot mätfel i såväl L som a.
Solve Normal listig 0 , x
x a2 2 L
Exempel: Bestäm gränsvärdet limx 0
x22 cos x x4
Lösningsförslag: Detta är ett gränsvärde av typen “00”. Eftersom vi har x4 i nämnaren provar vi med att Maclaurinutveckla till grad 4.
Series
x22
Cos x x4
, x, 0, 4 1
12 7 x2 360
13 x4 5040 Ox5
Här är det odramatiskt att låta x 0, så gränsvärdet är 121. Naturligtvis är det ännu smidigare att skicka in uttrycket i näbbet på Limit
Limit
x22 Cos x x4
, x 0
1 12