Numerisk Analys, MMG410. Lecture 13. 1/58

Relevanta dokument
Numerisk Analys, MMG410. Lecture 12. 1/24

Interpolation Modellfunktioner som satisfierar givna punkter

Föreläsning 5. Approximationsteori

Interpolation. 8 december 2014 Sida 1 / 20

OH till Föreläsning 5, Numme K2, Läsa mellan raderna. Allmän polynom-interpolation, S Ch 3.1.0

1.5 Lösningar till kapitel 7

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

TATA42: Föreläsning 3 Restterm på Lagranges form

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Del I: Lösningsförslag till Numerisk analys,

Omtentamen i DV & TDV

OH till Föreläsning 5, Numme K2, GNM Kap 4-4.4A / GKN Kap 4.1A,(D),E Interpolation. Läsa mellan raderna. Allmän polynom-interpolation

Sammanfattning (Nummedelen)

0.31 = f(x 2 ) = b 1 + b 2 (x 3 x 1 ) + b 3 (x 3 x 1 )(x 3 x 2 ) = ( ) + b 3 ( )(

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Lösningar till Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A. 1. (a) ODE-systemet kan skrivas på formen

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Konvergens för iterativa metoder

SF1625 Envariabelanalys Tentamen Lördagen den 11 januari, 2014

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Tentamen del 1 SF1511, , kl , Numeriska metoder och grundläggande programmering

3.6 De klassiska polynomens ortogonalitetsegenskaper.

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Lösningsförslag till tentamensskrivningen i Numerisk analys

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

Maclaurins och Taylors formler. Standardutvecklingar (fortsättning), entydighet, numerisk beräkning av vissa uttryck, beräkning

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Varning!!! Varning!!!

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Numerisk Analys, MMG410. Lecture 10. 1/17

Polynomanpassning i MATLAB

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Modul 4 Tillämpningar av derivata

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

F 4 Ch Numerisk integration, forts.; Ch.4 Numerisk derivering.

3.3. Interpolationsmetoder

f(x + h) f(x) h f(x) f(x h) h

Tentamen: Numerisk Analys MMG410, GU

Linjärisering, Jacobimatris och Newtons metod.

Omtentamen i DV & TDV

Något om Taylors formel och Mathematica

Envariabelanalys 5B1147 MATLAB-laboration Derivator

Lipschitz-kontinuitet

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Lösningsförslag envariabelanalys

Fel- och störningsanalys

TAYLORS FORMEL VECKA 4

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Euler-Mac Laurins summationsformel och Bernoulliska polynom

TMV225 Kapitel 3. Övning 3.1

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Meningslöst nonsens. December 14, 2014

ODE av andra ordningen, och system av ODE

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 26 augusti 2005 TID:

Kontinuitet och gränsvärden

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Tillämpningar av integraler: Area, skivformeln för volymberäkning, båglängd, rotationsarea, integraler och summor

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

Fel- och störningsanalys

Handledning till laboration i geometri

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Tentamen : Lösningar. 1. (a) Antingen har täljare och nämnare samma tecken, eller så är täljaren lika med noll. Detta ger två fall:

8.5 Minstakvadratmetoden

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

TMA 671 Linjär Algebra och Numerisk Analys. x x2 2 1.

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

HANDLEDNING TILL LABORATION I GEOMETRI

Kort sammanfattning av Beräkningsvetenskap I. Varning!!! Varning!!!

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

SF1625 Envariabelanalys

Kapitel 7. Numerisk derivering och integration

SF1513 NumProg för Bio3 HT2013 LABORATION 4. Ekvationslösning, interpolation och numerisk integration. Enkel Tredimensionell Design

För teknologer inskrivna H06 eller tidigare. Skriv GAMMAL på omslaget till din anomyna tentamen så att jag kan sortera ut de gamla teknologerna.

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Minstakvadratmetoden

Labb 3: Ekvationslösning med Matlab (v2)

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Lösningsförslag till tentamensskrivning i SF1633 Differentialekvationer I. Tisdagen den 7 januari 2014, kl

BEGREPPSMÄSSIGA PROBLEM

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

9 Skissa grafer. 9.1 Dagens Teori

LMA515 Matematik, del B Sammanställning av lärmål

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

MVE035. Sammanfattning LV 1. Blom, Max. Engström, Anne. Cvetkovic Destouni, Sofia. Kåreklint, Jakob. Hee, Lilian.

1.6 Lösningar till kapitel 8

1 Konvexa optimeringsproblem grundläggande egenskaper

Transkript:

Numerisk Analys, MMG410. Lecture 13. 1/58

Interpolation För i tiden gällde räknesticka och tabeller. Beräkna 1.244 givet en tabel över y = t, y-värdena är givna med fem siffror, och t = 0,0.01,0.02,...,9.99,10.00. Mer realistiskt, nu för tiden, vore en tabell, t k,y k,k = 1,...,n där vi av någon anledning inte kan beräkna y(t) för alla t (mättekniska problem, gamla data). Hur ska vi gå tillväga? I skoltabellen fanns röda tal mellan y-värdena, differenser, för att underlätta linjär interpolation t y... 1.22 1.1045 1.23 1.1091 1.24 1.1136 1.25 1.1180 1.26 1.1225 1.27 1.1269 2/58

2 1.8 1.6 exact f(x)=sqrt(x) interp.punkter mätdata funktion f(x) 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 x 3/58

Interpolation Givet (t k,y k ) och (t k+1,y k+1 ) söker vi y-värden svarande mot t, t k < t < t k+1. Linjär interpolation ger y y k +(t t k ) y k+1 y k t k+1 t k Så i exemplet (vi ska räkna y = t för t = 1.244,t k+1 = 1.25,t k = 1.24,y(t k ) = y k = 1.1136,y(t k+1 ) = y k+1 = 1.1180,y k+1 y k = 0.0044): 1.244 1.1136+(1.244 1.24) 0.0044 1.25 1.24 = 1.11536 Felet 1.3 10 5. Andra tillämpningar som nyttjar interpolation är kvadratur (integration), lösning av randvärdesproblem, förenkling av funktioner, härledning av metoden (t.ex. sekantmetoden). 4/58

Interpolation Allmänt har vi (t k,y k ),k = 1,...,m med t 1 < t 2 <... < t m och vill hitta en funktion (polynom i denna kurs), p, så att p(t k ) = y k,k = 1,...,m. Ibland lägger man dessutom på krav på derivator, s.k. Hermite-interpolation. Låt oss anta att det finns en underliggande funktion, f, (i exemplet ) som vi vill interpolera. Denna funktion är inte alltid känd. Vi känner y 1,y 2 som är approximationer av f i två punkter t 1 < t 2,y 1 = f(t 1 )+δ 1 samt y 2 = f(t 2 )+δ 2 och vill approximera f(t) där t 1 < t < t 2. Vi bestämmer nu interpolationspolynomet, p, som uppfyller interpolationsvillkoren: p(t 1 ) = y 1 samt p(t 2 ) = y 2. Två villkor bestämmer en konstant- eller en linjär funktion så vi kräver att p har grad 1. Ansätt p(t) = x 1 +x 2 t vilket ger följande linjära ekvationssystem: 5/58

Interpolation så att { x 1 +x 2 t 1 = y 1 x 1 +x 2 t 2 = y 2 p(t) = t 2y 1 t 1 y 2 t 2 t 1 } {{ } x 1 { x 1 = (t 2 y 1 t 1 y 2 )/(t 2 t 1 ) x 2 = (y 2 y 1 )/(t 2 t 1 ) + y 2 y 1 t 2 t 1 }{{} x 2 t = y 1 +(t t 1 ) y 2 y 1 t 2 t 1 Observera att den andra omskrivningen svarar direkt mot tabellräkningen. Felet, p(t) f(t) kan skrivas enligt: p(t) f(t) = f(t }{{}}{{} 1 )+δ 1 +(t t }{{} 1 ) beräknad exakt y 1 f(t 1 )+(t t 1 ) f(t 2) f(t 1 ) t 2 t 1 } {{ } p f (t) f(t 2 )+δ 2 }{{} (f(t 1 )+δ 1 ) }{{} y 2 y 1 t 2 t 1 f(t) = f(t)+δ 1 +(t t 1 ) δ 2 δ 1 t 2 t 1 }{{} p δ (t) 6/58

Interpolation Låt oss införa de två polynomen p f och p δ sådana att resp. p f (t 1 ) = f(t 1 ) = f(t 1 )+(t 1 t 1 ) f(t 2) f(t 1 ), (1) t 2 t }{{ 1 } 0 p f (t 2 ) = f(t 2 ) = f(t 1 )+(t 2 t 1 ) f(t 2) f(t 1 ) (2) t 2 t }{{ 1 } f(t 2) f(t 1) Då är tydligen p = p f +p δ. p δ (t 1 ) = δ 1 = δ 1 +(t 1 t 1 ) δ 2 δ 1, (3) t 2 t }{{ 1 } 0 p δ (t 2 ) = δ 2 = δ 1 +(t 2 t 1 ) δ 2 δ 1 t 2 t 1 }{{} δ 2 δ 1 (4) 7/58

Vi vet redan: p(t) f(t) = f(t }{{}}{{} 1 )+δ 1 +(t t }{{} 1 ) beräknad exakt y 1 f(t 1 )+(t t 1 ) f(t 2) f(t 1 ) t 2 t 1 } {{ } p f (t) f(t 2 )+δ 2 }{{} (f(t 1 )+δ 1 ) }{{} y 2 y 1 t 2 t 1 f(t) = f(t)+δ 1 +(t t 1 ) δ 2 δ 1 t 2 t 1 }{{} p δ (t) Detta kan man direkt se från det linjära ekvationssystemet, lösningen x beror ju linjärt på högerledet. p(t) f(t) }{{}}{{} beräknad exakt = p f (t)+p δ (t) f(t) = p f (t) f(t) }{{} approxim.fel + p δ (t) }{{} avrundningsfel De två delarna i felet kan tolkas som följer: p f (t) f(t) anger hur väl p f approximerar funktionsvärdena om de hade varit utan fel. p δ (t) interpolerar (avrundnings)felen i tabellvärdena. 8/58

Example from Lecture 8 1.12 Example 1 1.3 Example 1 1.1 Exact function Measured data Computed function 1.25 1.2 Exact function Measured data Computed function 1.08 1.15 1.1 1.06 1.05 1 1.04 0.95 1.02 0.9 0.85 1 210 220 230 240 250 260 270 t 0.8 210 220 230 240 250 260 270 t a) brus 1% b) brus 10 % Beräknad x med brus=1% ( vi har fått i matlab-program A = 0.9932,E = 1.4977,T 0 = 196.5996): x = 0.9932 1.4977 196.5996 Beräknad x med brus= 10%: x = 0.9654 2.7695 193.6234 9/58

Interpolation (Felets utseende) Låt oss nu uppskatta felet e(t) = f(t) p f (t) (denna härledning kan rätt lätt generaliseras till polynom av högre gradtal). Vi antar att t t 1,t 2 ty e(t 1 ) = e(t 2 ) = 0. Inför g(z) = e(z) (z t 1)(z t 2 ) (t t 1 )(t t 2 ) e(t) där vi betraktar t som en fix punkt, g beror alltså av z. Det gäller att g(t 1 ) = g(t 2 ) = 0 och dessutom är g(t) = 0: g(t) = e(t) (t t 1)(t t 2 ) e(t) = 0, (t t 1 )(t t 2 ) (5) g(t 1 ) = e(t 1 ) (t 1 t 1 )(t 1 t 2 ) e(t) = 0, (t t 1 )(t t 2 ) (6) g(t 2 ) = e(t 2 ) (t 2 t 1 )(t 2 t 2 ) e(t) = 0. (t t 1 )(t t 2 ) (7) g har alltså tre distinkta nollställen varför, enligt medelvärdessatsen, g (z) har två distinkta nolställen. g (z) har alltså ett nollställe, kalla det θ (t,t 1,t 2 ) (det minsta intervall som innehåller t,t 1,t 2 ). 10/58

Vi deriverar nu g (med avseende på z och får (ty grad p f 1): g (z) = e (z) Eftersom g (θ) = 0 kan vi lösa ut e(t) från och får 2e(t) (t t 1 )(t t 2 ) = f 2e(t) (z) (t t 1 )(t t 2 ). g (θ) = f (θ) e(t) = f(t) p f (t) }{{} approxim.fel 2e(t) (t t 1 )(t t 2 ) = 0, = f (θ) (t t 1 )(t t 2 ), 2 var θ (t,t 1,t 2 ) (det minsta intervall som innehåller t,t 1,t 2 ). 11/58

Interpolation (Felets utseende) Felet är noll då t = t 1 eller t = t 2. Faktorn (t t 1 )(t t 2 ) mäter hur långt t ligger från någondera ändpunkten. Om t 1 < t < t 2 så antar (t t 1 )(t t 2 ) sitt mest negativa värde då t = (t 1 +t 2 )/2. f (θ) är ett mått på krökningen hos f, dvs. hur mycket f buktar ut från en rät linje. Om krökningen är noll, f (θ) = 0, så är f linjär och felet är noll. Krökningsradien, R = (1+(f (θ)) 2 ) 3/2 /f (θ). Krökningen är 1/R. Antag att vi tar med fler punkter och interpolerar med ett polynom av högre gradtal. Kommer felet i approximationen att minska? Vi kan först se på den allmänna satsen: 12/58

Interpolation (Felets utseende) Sats Om p f interpolerar f för de n t värdena t 1 < t 2 <... < t n så gäller att f(t) p f (t) }{{} approxim.fel där θ (t,t 1,t 2,...,t n ). = f (n) (θ) (t t 1 )(t t 2 )...(t t n ) n! n! ser lovande ut, men resten är inte lätt att bedöma (θ känner vi t.ex. inte till). så vi ser på vårt exempel istället. p(t) f(t) = p f (t) f(t)+p δ (t) så även om vi kan göra p f (t) f(t) mindre kommer p δ (t), som svarar mot avrundningsfelet i tabellvärdena, att vara tämligen konstant, 10 5 10 6. 13/58

Interpolation (Felets utseende) Situationen ändras om tabellvärdena hade givits med mindre fel, anta att δ 1 = δ 2 = 0. I exemplet hade då felet i approximationen varit 10 6 med två punkter (förstagradspolynom), 10 8 med tre punkter (andragradspolynom), 10 10 med fyra punkter och 10 12 med fem punkter. Observera att felet beror på hur t-punkterna ligger relativt den punkt där vi vill approximera f. Så det kan löna sig att höja gradtalet förutsatt att tabellvärdena inte har för stora fel. Polynom av höga gradtal är dock inte lätthanterliga, mer om detta senare. Kan vi använda polynomet för att extrapolera (gå utanför [t 1,t n ])? Vi vet att p(t) när t (om inte p är konstant), så det kan vara vanskligt. Polynom kan växa snabbt! 14/58

Interpolation (Entydighet) Det står polynomet i bestämd form, detta pga. att det alltid existerar och är entydigt. Sats Interpolationsproblemet: hitta ett polynom p med grad högst n 1 sådant att p(t k ) = y k,k = 1,2,..,n, där alla (t k,y k ) är givna och t 1 < t 2 <... < t n. Låt oss anta att existensen är given och studera entydigheten. Antag att det finns ett annat polynom q av grad n 1 som interpolerar data. Det gäller då att p(t k ) q(t k ) = 0,k = 1,2,..,m. Polynomet p q av grad n 1 har alltså n distinkta nollställen. p q måste således vara nollpolynomet och p = q. Polynomet behöver inte alltid ha grad n 1. Om vi t.ex. väljer punkterna y k = tk 2,k = 1,2,...,10 så klarar vi oss med p(t) = t 2 fastän n = 10. Nu till existensen. Den går att bevisa på flera sätt. Vi kommer att använda ett konstruktivt bevis. Antag att vi har n = 3 punkter. 15/58

Interpolation (Lagranges form) Sats Här följer interpolationspolynomet på Lagranges form: (t t 2 )(t t 3 ) p(t) = y 1 (t 1 t 2 )(t 1 t 3 ) +y (t t 1 )(t t 3 ) 2 (t 2 t 1 )(t 2 t 3 ) +y (t t 1 )(t t 2 ) 3 (t 3 t 1 )(t 3 t 2 ) En fördel med denna form på polynomet är att den är lätt att ställa upp och att den kan vara användbar vid teoretiskt arbete. Formen lämpar sig dock inte så väl för numeriska beräkningar (många operationer). Det finns också risk för under- och overflow om man inte tänker sig för. 16/58

Interpolation (Lagranges form) Given a set of k +1 data points (x 0,y 0 ),...,(x j,y j ),...,(x k,y k ) where no two x j are the same, the interpolation polynomial in the Lagrange form is a linear combination of Lagrange basis polynomials L(x) := k y j l j (x) j=0 l j (x) := 0 m k m j where 0 j k. x x m = (x x 0) x j x m (x j x 0 ) (x x j 1) (x j x j 1 ) (x x j+1 ) (x j x j+1 ) (x x k) (x j x k ), 17/58

Interpolation i Lagrange form i 9 punkter för f(x) = x funktion f(x) 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 exact linear interpolation interpolation på Lagranges form 0 0 0.5 1 1.5 2 2.5 3 3.5 4 x 18/58

Fel för f(x) = x 0.12 Fel med ekvidistanta punkter 0.1 fel: LagrangePolyn - sqrt(x) ; 0.08 0.06 0.04 0.02 0 0 0.5 1 1.5 2 2.5 3 3.5 4 x 19/58

Fel för f(x) = x -0.5-1 Log10-fel med ekvidistanta punkter -1.5 fel: log10 LagrangePolyn - sqrt(x) ; -2-2.5-3 -3.5-4 -4.5-5 -5.5 0 0.5 1 1.5 2 2.5 3 3.5 4 x 20/58

Example Interpolera funktionen f(t) = t 2 på 1 t 3, i punkter: t 1 = 1,t 2 = 2,t 3 = 3. Svar: Vi har: y 1 = f(t 1 ) = 1,y 2 = f(t 2 ) = 4,y 3 = f(t 3 ) = 9. Här följer interpolationspolynomet på Lagranges form: (t t 2 )(t t 3 ) L(t) = y 1 (t 1 t 2 )(t 1 t 3 ) +y (t t 1 )(t t 3 ) 2 (t 2 t 1 )(t 2 t 3 ) +y (t t 1 )(t t 2 ) 3 (t 3 t 1 )(t 3 t 2 ) L(t) = 1 t 2 1 2 t 3 t 1 +4 1 3 2 1 t 3 t 1 +9 2 3 3 1 t 2 3 2 = t 2. 21/58

Övning Interpolera funktionen f(t) = t 3 på 1 t 3, i punkter: t 1 = 1,t 2 = 2,t 3 = 3. Här följer interpolationspolynomet på Lagranges form: (t t 2 )(t t 3 ) L(t) = y 1 (t 1 t 2 )(t 1 t 3 ) +y (t t 1 )(t t 3 ) 2 (t 2 t 1 )(t 2 t 3 ) +y (t t 1 )(t t 2 ) 3 (t 3 t 1 )(t 3 t 2 ) 22/58

Example Interpolera funktionen f(t) = t 3 på 1 t 3, i punkter: t 1 = 1,t 2 = 2,t 3 = 3. Svar: Vi har: y 1 = f(t 1 ) = 1,y 2 = f(t 2 ) = 8,y 3 = f(t 3 ) = 27. Här följer interpolationspolynomet på Lagranges form: (t t 2 )(t t 3 ) L(t) = y 1 (t 1 t 2 )(t 1 t 3 ) +y (t t 1 )(t t 3 ) 2 (t 2 t 1 )(t 2 t 3 ) +y (t t 1 )(t t 2 ) 3 (t 3 t 1 )(t 3 t 2 ) L(t) = 1 t 2 1 2 t 3 t 1 +8 1 3 2 1 t 3 t 1 +27 2 3 3 1 t 2 3 2 = 6t 2 11t +6. 23/58

Interpolation (Vandermondematrisen) Ett annat sätt att konstruera polynomet är att sätta upp ett ekvationssystem som vi gjorde i det linjära fallet. Så vi ansätter p(t) = x 1 +x 2 t +x 3 t 2. Interpolationsvillkoren ger då: 1 t 1 t 2 1 1 t 2 t 2 2 1 t 3 t 2 3 x 1 x 2 x 3 = I linjäralgebrakursen brukar man visa att en sådan matris, en Vandermonde-matris, är ickesingulär om alla t-värdena är distinkta. y 1 y 2 y 3 Detta system är lätt att formulera men relativt dyrt att lösa (kubisk kostnad) men det finns snabbare metoder som utnyttjar matrisens utseende. Normalt har man dock inte speciellt höga gradtal. Det är dock billigt och stabilt att beräkna p(t). 24/58

Interpolation (Horners metod) Man använder normalt Horners metod för detta. Exempel med n = 4. x 1 +x 2 t +x 3 t 2 +x 4 t 3 = x 1 +t(x 2 +t(x 3 +tx 4 )) Detta skrivs lämpligen i en loop, men jag har använd sekvensiell kod: p = x 4, p = x 3 +tp, p = x 2 +tp, p = x 1 +tp. Detta kräver n 1 + resp. *. Man kan se Vandermonte-härledningen som ett specialfall av följande. Vi ansätter p(t) = x 1 φ 1 (t)+x 2 φ 2 (t)+...+x n 1 φ n 1 (t)+x n φ n (t) φ k kallas basfunktion och i Vandermonte-matrisen använder vi φ k (t) = t k 1. Ett problem med Vandermontematriser är att de kan bli illakonditionerade. 25/58

Interpolation (Horners metod) Exempel Antag n = 4 och tag t-värdena t 1 = 0.1 = 10 1,t 2 = 0.2 = 2 10 1,t 3 = 0.3 = 3 10 1 och t 4 = 0.4 = 4 10 1. Matrisen kan då skrivas 1 10 1 10 2 10 3 1 2 10 1 4 10 2 8 10 3 1 3 10 1 9 10 2 27 10 3 1 4 10 1 16 10 2 64 10 3 Konditionstalet är 2 10 3. Anledningen till det stora konditionstalet är att basfunktionerna liknar varandra (kolonnerna blir nästan linjärt beroende). 26/58

Ett sätt att få ner konditionstalet är att använda andra basfunktioner. Låt oss ta bokens förslag. φ k (t) = ( ) t (t1 +t n )/2 k 1 (t n t 1 )/2 Den transformerade variabeln ligger i intervallet [ 1, 1]: 1 t (t 1 +t n )/2 (t n t 1 )/2 1, t [t 1,t n ] Denna transformation leder till det nya konditionstalet 8 i vårt exempel. 27/58

Interpolation (Newtons form) Det finns ytterligare en vanlig framställning av interpolationspolynomet, nämligen Newtons form. Den är en kompromiss mellan de två tidigare. Det är relativt billigt både att konstruera polynomet och att sedan evaluera det. Dessutom är det möjligt att lägga till nya punkter utan att börja om med polynomberäkningen. Sats Den allmänna Newtons formen är: p(t) = x 1 +x 2 (t t 1 )+x 3 (t t 1 )(t t 2 )+...+x n (t t 1 )(t t 2 )...(t t n 1 ) 28/58

Interpolation (Newtons form) Låt oss se på specialfallet n = 3. Observera: p(t) = x 1 +x 2 (t t 1 )+x 3 (t t 1 )(t t 2 ). y 1 = p(t 1 ) = x 1 +x 2 (t 1 t 1 )+x 3 (t 1 t 1 )(t 1 t 2 ) = x 1, (8) y 2 = p(t 2 ) = x 1 +x 2 (t 2 t 1 )+x 3 (t 2 t 1 )(t 2 t 2 ) = x 1 +x 2 (t 2 t 1 ), (9) y 3 = p(t 3 ) = x 1 +x 2 (t 3 t 1 )+x 3 (t 3 t 1 )(t 3 t 2 ). (10) Vi får det undertriangulära systemet: 1 0 0 1 t 2 t 1 0 1 t 3 t 1 (t 3 t 1 )(t 3 t 2 ) x 1 x 2 x 3 = som ju är enkelt att lösa (framåtsubstitution). Vi ser också att det går att lägga till en punkt (en rad underst i matrisen) och vi behöver inte lösa systemet från början. y 1 y 2 y 3 Nu ett exempel där vi konstruerar polynomet med de tre metoderna. 29/58

Interpolation Exempel Finn p som interpolerar (1,1),(2,4) samt (3,11). Lösning: p(t) = [1,4,11] T,t 1 = 1,t 2 = 2,t 3 = 3. 1) Vandermontes form. Ansätt p(t) = x 1 +x 2 t +x 3 t 2 1 t 1 t 2 1 1 t 2 t 2 2 1 t 3 t 2 3 x 1 x 2 x 3 = 1 1 1 1 2 4 1 3 9 x 1 x 2 x 3 Så p(t) = 2 3t +2t 2 eller p(t) = 2t 2 3t +2. 2) Langranges form: = 1 4 11 x = (t 2)(t 3) 1)(t 3) 1)(t 2) p(t) = 1 +4(t +11(t (1 2)(1 3) (2 1)(2 3) (3 1)(3 2) Förenklar vi detta uttryck får vi (givetvis) p(t) = 2t 2 3t +2. 2 3 2 30/58

Övning Finn p(t) i Vandermontes form som interpolerar funktionen f(t) = t 3 på 1 t 4, i punkter: t 1 = 1,t 2 = 2,t 3 = 3,t 4 = 4. Notera: Vandermontes matris för 4 punkter: 1 t 1 t1 2 t1 3 1 t 2 t2 2 t2 3 1 t 3 t3 2 t3 3 1 t 4 t4 2 t4 3 31/58

Interpolation Exempel (fortsättning) Notera: p(t) = [1,4,11] T,t 1 = 1,t 2 = 2,t 3 = 3. 3) Newtons form: p(t) = x 1 +x 2 (t 1)+x 3 (t 1)(t 2). Lös: 1 0 0 x 1 1 1 2 1 0 x 2 = 4 1 3 1 (3 1)(3 2) x 3 11 så att x = [1,3,2] T varför p(t) = 1+3(t 1)+2(t 1)(t 2) som också kan förenklas till p(t) = 2t 2 3t +2. 32/58

Övning Finn p(t) i Newtons form som interpolerar funktionen f(t) = t 3 på 1 t 4, i punkter: t 1 = 1,t 2 = 2,t 3 = 3,t 4 = 4. Notera: Newtons form: p(t) = x 1 +x 2 (t t 1 )+x 3 (t t 1 )(t t 2 )+x 4 (t t 1 )(t t 2 )(t t 3 ). 33/58

Interpolation (Problem med interpolation) För vissa funktioner kan interpolationsfelet bli stort i intervallets ändar (t.ex för f(t) = e t2 ). Detta problem kan förvärras när antalet punkter ökar (Runges fenomen). p behöver inte alltid konvergera mot f, utan felet kan öka med ökande antal punkter. Det är inte ovanligt att polynom av högt gradtal svänger kraftigt när man använder ekvidistant interpolation (samma avstånd mellan t k -värdena. Vi kan försöka att hålla nere polynomet i ändarna genom att lägga punkterna tätare där. Då svänger polynomet mindre. 34/58

Lagrange interpolation i 9 ekvidistanta punkter för f(x) = e x2 1 Lagrangian interpolation av exp(-x 2 ) 0.8 0.6 funktion f(x) 0.4 0.2 0-0.2 exact exp(-x 2 ) interpolation points interpolation på Lagranges form -0.4 35/58

Interpolation i Lagrange form i 9 punkter för f(x) = e x2 1 Lagrangian interpolation av exp(-x 2 ) 0.8 0.6 funktion f(x) 0.4 0.2 0 exact exp(-x 2 ) interpolation points interpolation på Lagranges form -0.2-3 -2-1 0 1 2 3 x 36/58

Interpolation i Lagrange form i 9 punkter för f(x) = e x2 1 Lagrangian interpolation av exp(-x 2 ) 0.8 0.6 funktion f(x) 0.4 0.2-0.2 0 exact exp(-x 2 ) interpolation points interpolation på Lagranges form -3-2 -1 0 1 2 3 x 37/58

Interpolation (Problem med interpolation) Vad är ett bra sätt att välja punkterna (om vi får välja)? Låt oss studera felets utseende igen (vi kan tänka oss exakta data, så att p f = p). p(t) f(t) }{{}}{{} beräknad exakt = f (n) (θ) (t t 1 )(t t 2 )...(t t n ) n! där θ (t,t 1,t 2,...,t n ). Antag att f (n) (θ) M för alla θ (t 1,t 2,...,t n ). Vi har då f(t) p(t) M n! (t t 1)(t t 2 )...(t t n ) Låt oss specialstudera funktionen (t t 1 )(t t 2 )...(t t n )/n!. Den växer snabbt utanför [t 1,t n ]. Extrapolation är farligt! 38/58

5 4 (t-1)(t-2)(t-3)(t-4)/4! exact f(x) interp.punkter 3 funktion f(x) 2 1 0-1 -1 0 1 2 3 4 5 6 x 39/58

5 4 (t-1)(t-2)(t-3)(t-4)/4! exact linear interpolation interpolation på Lagranges form 3 funktion f(x) 2 1 0-1 -1 0 1 2 3 4 5 6 x 40/58

5 4 (t-1)(t-2)(t-3)(t-4)/4! exakt Chebyshevpunkter linear interpolation interpolation på Lagranges form i Chebyshevpunkter 3 funktion f(x) 2 1 0-1 -1 0 1 2 3 4 5 6 x 41/58

10-15 (t-1)(t-2)(t-3)(t-4)/4! 3 2.5 Fel med Chebyshevpunkter Fel med ekvidistanta punkter fel: LagrangePolyn - exakt ; 2 1.5 1 0.5 0-1 0 1 2 3 4 5 6 x 42/58

0.015 0.01 (t-1)(t-2)(t-3)(t-4)(t-5)(t-6)(t-7)(t-8)(t-9)(t-10)(t-11)/11! exact f(x) interp.punkter 0.005 funktion f(x) 0-0.005-0.01-0.015 0 2 4 6 8 10 12 x 43/58

0.015 0.01 (t-1)(t-2)(t-3)(t-4)(t-5)(t-6)(t-7)(t-8)(t-9)(t-10)(t-11)/11! exact linear interpolation interpolation på Lagranges form 0.005 funktion f(x) 0-0.005-0.01-0.015 0 2 4 6 8 10 12 x 44/58

0.015 0.01 (t-1)(t-2)(t-3)(t-4)(t-5)(t-6)(t-7)(t-8)(t-9)(t-10)(t-11)/11! exakt Chebyshevpunkter linear interpolation interpolation på Lagranges form i Chebyshevpunkter 0.005 funktion f(x) 0-0.005-0.01-0.015 0 2 4 6 8 10 12 x 45/58

0.014 0.012 (t-1)(t-2)(t-3)(t-4)(t-5)(t-6)(t-7)(t-8)(t-9)(t-10)(t-11)/11! Fel med Chebyshevpunkter Fel med ekvidistanta punkter fel: LagrangePolyn - exakt ; 0.01 0.008 0.006 0.004 0.002 0 0 2 4 6 8 10 12 x 46/58

-1.5-2 Log10-fel med Chebyshevpunkter Log10-fel med ekvidistanta punkter fel: log10 LagrangePolyn - exakt ; -2.5-3 -3.5-4 -4.5-5 -5.5 0 2 4 6 8 10 12 x 47/58

Interpolation (Chebyshevpunkter) De så kallande Chebyshevpunkterna har egenskapen att de gör det maximala värdet av (t t 1 )(t t 2 )...(t t n ) så litet som möjligt. Sats Om t k,t [ 1,1], k = 1,2,...,n gäller det att max (t t 1)(t t 2 )...(t t n ) 1 t 1 minimeras då [ ] (2k 1)π t k = cos, k = 1,2,...,n 2n Det maximala värdet på (t t 1 )(t t 2 )...(t t n ) är då 1/2 n 1. 48/58

Interpolation (Chebyshevpunkter) När t ligger i ett annat intervall, [α,β] säg, får vi göra en linjär avbilding av Chebyshevpunkterna till detta intervall. Vi ser att β α [ 1,1]+ α+β 2 2 = [α,β] så de transformerade Chebyshevpunkterna blir β α [ ] (2k 1)π cos + α+β 2 2n 2 Ibland är det ändå problem. Det kan tänkas att M, begränsningen av f (n) (θ) ej existerar. Exempel: f(t) = t på intervallet [0,3]. Redan f (0) är ju obegränsad, man säger att derivatan har en singularitet. I vissa fall visar sig singulariteten först i högre derivator (t.ex. f(t) = t 5/2 ). 49/58

Lagrange interpolation i 9 ekvidistanta punkter för f(x) = e x2 1 Lagrangian interpolation av exp(-x 2 ) 0.8 0.6 funktion f(x) 0.4 0.2 0-0.2 exact exp(-x 2 ) interpolation points interpolation på Lagranges form -0.4 50/58

Interpolation i Lagrange form i 9 Chebyshevpunkter för f(x) = e x2 1 Lagrangian interpolation av exp(-x 2 ) i Chebyshevpunkter 0.8 0.6 funktion f(x) 0.4 0.2-0.2 0 exakt Chebyshevpunkter interpolation på Lagranges form i Chebyshevpunkter 51/ 58

Fel för f(x) = e x2 0.35 L(x) - exp(-x 2 ) 0.3 Fel med Chebyshevpunkter Fel med ekvidistanta punkter 2 ) ; 0.25 fel: L(x) - exp(-x 0.2 0.15 0.1 0.05 0-3 -2-1 0 1 2 3 x 52/58

Fel för f(x) = e x2-0.5 log 10 L(x)- exp(-x 2 ) -1 Log10-fel med Chebyshevpunkter Log10-fel med ekvidistanta punkter 2 ) ; fel: log10 L(x) - exp(-x -1.5-2 -2.5-3 -3.5-4 -4.5-3 -2-1 0 1 2 3 x 53/58

Interpolation (Chebyshevpunkter) Om en funktion har n+1 antal kontinuerliga derivator så kan den utvecklas i en Taylorutveckling: f(t) = f(a)+ f (a) (t a)+ f (a) (t a) 2 +...++ f (n) (a) (t a) n +R(t) 1! 2! n! där resttermen R(t) = c(ξ)(t a) n+1, ξ (a,t) och c(ξ) är uppåt begränsad. Detta innebär att en sådan funktion (som har Taylorutveckling) liknar ett polynom på ett tillräckligt litet intervall. Om inte alla f (k) (a) = 0, k = 0,1,...,n kan vi göra R(t) godtyckligt liten jämfört med resten av Taylorutveckningen, genom att ta t a tillräckligt litet. På ett stort intervall behöver inte funktionen likna ett polynom. Example t har ingen Taylorutveckling kring a = 0. Däremot har ju t en utveckling kring alla a > 0 och det är inga problem att approximera funktionen för positiva t. 54/58

Interpolation i Lagrange form i 9 punkter för f(x) = x funktion f(x) 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 exact linear interpolation interpolation på Lagranges form 0 0 0.5 1 1.5 2 2.5 3 3.5 4 x 55/58

Interpolation i Lagrange form i 9 Chebyshevpunkter för f(x) = x 2 1.8 1.6 1.4 exakt Chebyshevpunkter linear interpolation interpolation på Lagranges form i Chebyshevpunkter funktion f(x)=sqrt(x) 1.2 1 0.8 0.6 0.4 0.2 0 56/58

Fel av interpolation i Lagrange form för f(x) = x 0.12 0.1 Fel med Chebyshevpunkter Fel med ekvidistanta punkter fel: LagrangePolyn - sqrt(x) ; 0.08 0.06 0.04 0.02 0 0 0.5 1 1.5 2 2.5 3 3.5 4 x 57/58

Fel av interpolation i Lagrange form för f(x) = x -0.5-1 -1.5 Log10-fel med Chebyshevpunkter Log10-fel med ekvidistanta punkter fel: log10 LagrangePolyn - sqrt(x) ; -2-2.5-3 -3.5-4 -4.5-5 -5.5 0 0.5 1 1.5 2 2.5 3 3.5 4 x 58/58