Kapitel 4 Interpolation 4 Allgemeines Nähere Funktion/Daten durch einfache Funktionen (eg Polynome) an Brauchbar für: - Integration - Differentiation [zb f(x) sei durch Polynom p(x) approximiert, F(x) = f(x)dx p(x)dx oder f (x) p (x)] Anwendungen: - f(x) durch Stützstellen definiert (Messdaten) - f(x) sehr kompliziert 4 Normen von Funktionen Zur Abschätzung der Güte einer Näherung werden Funktionsnormen eingeführt Die Funktion f(x) werde im Intervall [a, b] betrachtet f p = f p 2 = b f p = max a x b a f p w dx (4) ( b /2 f p 2 w dx) (42) a f p (43) Hier ist w(x) eine Wichtungsfunktion mit w(x) 0, b a w(x)dx 0 (44) 27
28 KAPITEL 4 INTERPOLATION f(x) k Es folgt Bem: 2 2 2 /k 2/k 3/k x = /k 0 2 = 2/3 2/3 = k Ein Bspl für die unterschiedlichen Normen Sei k > 0, definiere Funktion f(x) mit f k (x) = k(k 2 x ) für /k 2 < x < 2/k 2 k(k 2 x 3) für 2/k 2 < x < 3/k 2 0 sonst (45) Das Aussehen der Funkion f k (x) ist links skizziert Die Höhe ist jeweils k Für größere k wird die Funktion immer schmaler, und immer höher für k (46) f p max f p b w(x)dx = a W f p 2 W /2 (47) Dh ist die strikteste Norm, sichert gleichförmige Konvergenz 42 Polynom-Interpolation Geg (n + ) diskrete, paarweise verschiedene Stützstellen x 0, x,, x n mit Stützwerten y 0, y,, y n Ges Polynom P n (x) = a 0 + a x + a 2 x 2 + + a n x n (48) mit P n (x i ) = y i für i = 0,,, n (49) Satz 4 Zu beliebigen (n + ) Stützwerten mit obiger Charakteristik (x i x j für i j), gibt es genau ein Interpolationspolynom P n (x) mit der ges Eigenschaft, dessen Grad höchstens n ist Bew: a) Def: Lagrange-Polynom vom Grad n L i (x) = n j=0 j i x x j x i x j = (x x 0)(x x )(x x i )(x x i+ )(x x ) (x i x 0 )(x i x )(x i x i )(x i x i+ )(x i x n ) P n (x) L i (x k ) = δ ik = { i = k 0 sonst n y i L i (x) und p(x k ) = y k (40)
43 LAGRANGE-INTERPOLATION 29 Der Grad P n n (Linearkombination von L i ) Eindeutigkeit durch den Fundamentalsatz der Algebra Sei Q n weiteres Polynom mit gleichen Eigenschaften, das hieße P n Q n hat n + Nullstellen, ist also identisch Null b) Sei (Gl 48) P n (x) = a 0 + a x + a 2 x 2 + a n x n Betrachte P n (x j ) = a 0 + a x j + a 2 x 2 j + + a nx n j = y j, j = 0,,, n Dies entpricht dem linearen Gleichungssystem x 0 x 2 0 x n 0 x x 2 x n x n x 2 n x n n a 0 a a n = y 0 y y n (4) oder in Kurzform Va = y Bem: Die Matrix V heißt auch Vandermonde Matrix - Falls x i x j V nicht-singulär - Falls Va = 0 P(x) hat n + Stützstellen = 0 a = 0 (V ist nicht singulär) i) Beide Beweise [a) und b)] geben Konstrukionsverfahren für P(x) a) Lagrange-Methode b) Methode der unbestimmten Koeffizienten ii) b) eignet sich gut für Approx mit Funktionen f n (x) (zb Trigonometrischen) P n (x) = b 0 + b f (x) + a 2 f 2 (x) + + a n f n (x) wobei zb f n (x) = cos(nx) oder wie oben f n (x) = x n Das Gleichungssystem lautet dann f (x 0 ) f 2 (x 0 ) f n (x 0 ) b 0 y 0 f (x ) f 2 (x ) f n (x ) b = y (42) f (x n ) f 2 (x n ) f n (x n ) b n y n 43 Lagrange-Interpolation Wir beschreiben die Rechentechnik bei der Lagrange-Interpolation Aus der Definition (40) folgt: P n (x) = n n y i j=0 j i x x j x i x j = n y i x x i { n n } (x x k ) x i x j j=0 j i k=0
30 KAPITEL 4 INTERPOLATION dh Abtrennen von /(x x i ) Definiere: Stützkoeffizienten (hängen nur von x k ab) n λ i x i x j = n j=0 j i j=0 j i (x i x j ) (i = 0,,, n) (43) und µ i (x) = λ i x x i (i = 0,,, n) (44) die µ i sind von x abhängig Damit wird { n } n P n (x) = µ i y i (x x k ) Diese Relation gilt für beliebige y i, speziell für y i =, also P n (x) = Damit folgt für alle x n (x x k ) = n k=0 k=0 Eingesetzt ergibt sich die Baryzentrische Formel µ i P n (x) = n µ i y i (45) n µ i als gewogenes Mittel der Stützwerte y i mit den Gewichten µ i Die Vorzeichen der µ i variieren 43 Berechnung der λ i Die Berechnung der Stützkoeffizienten λ i gemäß Gl (43) benötigt n(n + ) Divisionen, n für jedes λ i und n + verschiedene λ i Dies kann halbiert werden ) Aus Definition folgt, dass eine zusätzliche Stützstelle (n+) (n+2) folgendes liefert λ (n+) i = λ (n) i x i x n+ (i = 0,, n) wobei λ (n) die n+ Stützkoeffizienten zu den Stützstellen (x 0, x,, x n ) bezeichnen Man erhält die ersten n + Stützkoeffizienten von λ (n+) i durch je Division aus den λ (n) i 2) Für den letzten Wert kann folgender Satz ausgenutzt werden Satz 42 n λ (n) i = 0 für n
43 LAGRANGE-INTERPOLATION 3 [Beweis: Aus Definition der Koeffizient von x n ist: P n (x) = n a n = y i λ (n) i n n (x x j ) j=0 j i y i λ (n) i betrachte wiederum das spezielle Polynom y i =, also P n a n = 0 für n Bhpt] Aus ) und 2) ergibt sich das folgendene Schema zur Berechnung der λ (n) i (in Metasprache) Start: λ (0) 0 = Rekursion: für k =, 2,, n für i = 0,,, k λ (k) i = λ (k ) i /(x i x k ); k = λ (k) i ; λ (k) k Im letzten Schritt wird die Eigenschaft der verschwindenden Summe ausgenutzt Insgesamt erhält man n(n + )/2 Divisionen 432 Ein Beispiel Gegeben seien die 4 Stützstellen und Stützwerte x 0 x x 2 x 3 x i 00 5 25 45 y i 0 20 20 0 Damit errechnen sich die Koeffizienten zu: k = \ i = 0 2 3 0 00000 λ (0) 0-066667 066667 λ () 0 = λ (0) 0 /(x 0 x ) λ () = λ () 0 2 026667-066667 040000 λ (2) 0 = λ () 0 /(x 0 x 2 ) λ (2) = λ () /(x x 2 ) λ (2) 2 = λ (2) 0 λ (2) 3-005926 022222-020000 0037040 Gesucht sei jetzt der Wert des Polynoms an der Stelle x = 2 Aus den λ (3) i Zeile folgen die Gewichte µ i (siehe Gl 44) zu µ 0-002829 µ 037037 µ 2 050000 µ 3-005433 Und somit P 3 (2) = 697 / 082672 = 20528 in der letzten
32 KAPITEL 4 INTERPOLATION 44 Newton-Interpolation Bisher wurde der Wert nur an einer bestimmten Stelle berechnet, jetzt allgemeiner Die Newton-Interpolation erlaubt die leichte Hinzunahme weiterer Stützstelle Der Ansatz lautet: P n (x) = c 0 + c (x x 0 ) + c 2 (x x 0 )(x x ) + c n (x x 0 )(x x ) (x x n ) (46) Die Bedingungen an den Stütztstellen liefern: P n (x 0 ) = c 0 = y 0 P n (x ) = c 0 + c (x x 0 ) = y P n (x 2 ) = c 0 + c (x 2 x 0 ) + c 2 (x 2 x 0 )(x 2 x ) = y 2 Diese Gleichungssystem hat eine Dreiecksstruktur, dh man könnte die c k sukzessive berechnen Betrachte das Bildungsgesetz: jedes c k ist Höchstkoeffizient des Polynoms, durch (k + ) Stützpunkte (x i, y i, i = 0,, k) Def: c k := f[x 0 x x k ] (k = 0,,, n) c k ist abhängig von (k + ) Stützstellen Wir betrachten jetzt eine Untermenge von (k+) Stützstellen der insgesamt (n+) Werte Sei P i 0,i,,i k (x) ein Polynom zu (k +) paarweise disjunkten Stützstellen x i0, x i,, x ik, wobei i 0, i,, i k Indizes aus {0,,, n} sind Da P ein Interpolationspolynom ist, gilt P i 0,i,,i k (x ij ) = y ij (j = 0,,, k) und speziell Damit gilt der P k (x) = y k (k = 0,,, n) Satz 43 Pi 0,i,,i k (x) = (x x i 0 )Pi,,i k (x x ik )Pi 0,i,,i k (x ik x i0 ) k n (47) [Bew: Auf der rechten Seite sind die P Polynome vom Grad k, also ist die linke Seite vom Grad k Weiter gilt: P i 0,i,,i k (x i0 ) = y i0 P i 0,i,,i k (x ik ) = y ik und P i 0,i,,i k (x ij ) = (x i j x i0 )y ij (x ij x ik )y ij (x ik x i0 )
44 NEWTON-INTERPOLATION 33 Daraus folgt der Satz, P ist eindeutiges Polynom] Wir vergleichen die Höchstkoeffizienten von Gl (47) auf der rechten und linken Seite, und es folgt f[x i0, x i,, x ik ] = f[x i, x i2,, x ik ] f[x i0, x i,, x ik ] k n (48) (x ik x i0 ) Hier heißt f[x i0, x i,, x ik ] die k-te dividierte Differenz zu den Stützstellen x i0, x i,, x ik Die Rekursionsformel wird durch das Schema der dividierten Differenzen angewendet Mit f[x i ] = y i (i = 0,,, n) als Startwerten wird x 0 f[x 0 ] f[x 0, x ] x f[x ] f[x 0, x, x 2 ] f[x, x 2 ] f[x 0, x, x 2, x 3 ] x 2 f[x 2 ] f[x, x 2, x 3 ] f[x 0, x, x 2, x 3, x 4 ] f[x 2, x 3 ] f[x, x 2, x 3, x 4 ] x 3 f[x 3 ] f[x 2, x 3, x 4 ] f[x 3, x 4 ] x 4 f[x 4 ] Die oberen Werte des Dreiecks bezeichnen dabei fortlaufend die Werte c k : c 0 = f[x 0 ], c = f[x 0, x ], c 2 = f[x 0, x, x 2 ] usw Die anderen Werte zb berechnen sich aus f[x 2, x 3 ] = f[x 3] f[x 2 ] x 3 x 2 f[x, x 2, x 3 ] = f[x 2, x 3 ] f[x, x 2 ] x 3 x usw Ein Rechenschema in Metasprache für die Newton-Interpolation lautet für i = 0,,, n c i = y i ; für k =, 2,, n für i = n, n,, k c i = (c i c i )/(x i x i k ); Die Anzahl der nötigen Divisionen ist identisch zum obigen Verfahren = n(n + )/2 Berechnung von P n (x) an neuen Stellen x: Beginne mit dem innersten Klammerausdruck von P n (x) = c 0 + c (x x 0 ) + c 2 (x x 0 )(x x ) + = c 0 + (x x 0 ) (c + (x x )[c 2 + (x x 2 ){x 3 + + (c n + (x x n )c n )}]) Das Schema lautet also: Dann gilt schließlich P n (x) = p Bem: p = c n für k = n, n 2,, 0 p = c k + (x x k )p;
34 KAPITEL 4 INTERPOLATION - Brauche für jede neue Stelle x nur n Multiplikationen (weniger als die Hälfte als bei Lagrange) - Newton eignet sich gut, wenn P n (x) an vielen Stellen ausgewertet werden soll 45 Fehlerabschätzung Satz 44 Wenn P n (x) die Funktion f(x) C n+ [a, b] an (n + ) Stützstellen {x j } n j=0 mit x i x j interpoliert, dann gilt für den Fehler: mit e(x) f(x) P n (x) = fn+ (ζ) W(x) (49) (n + )! W(x) = n (x x i ) (420) W(x) heißt hier das Fehlerpolynom Dabei ist der Wert von ζ in Bereich {x 0, x,, x n } Falls min i (x i ) = a und max i (x i ) = b, gilt ζ [a, b] [Bew: ] ζ hängt vom Aufpunkt x ab besser ist ein Errorbound e(x) = f(x) P n (x) M n ist hier das Maximum von f n+ (ζ) mit ζ [a, b] Beispiel: Sei n = 2, dann gilt für das Fehlerpolynom mit x 0 = h, x = 0 und x 2 = h Es folgt M n (n + )! W(x) W(x) = (x x 0 )(x x )(x x 2 ) Bei äquidistanten Stützstellen ist und e(x) h n+ e(x) 3 27 M 2h 3 h = b a n 45 Abschätzung des Fehlerpolynoms Hatten n e(x) = fn+ (ζ) (n + )! W(x) mit W(x) = (x x i ) Sei x i [a, b], i = 0,,, n, dann gilt ( b a 2 ) n+ 2 n max W(x) (b a)n+ x [a,b]
46 TSCHEBYSCHEFF-POLYNOME 35 die untere Schranke wird angenommen (unter Minimierung der Absolut-Norm W(x) ), wenn x i x i = b a ( ) 2i + π cos + b + a 2 n + 2 2 für i = 0,,, n Dies sind die Extremalstellen der der Tschebyscheff-Polynome 46 Tschebyscheff-Polynome Es gilt cos[(n + )ϕ] + cos[(n )ϕ] = 2 cos(ϕ) cos(nϕ) n N (42) [Bew mit exp-funktion cosx = /2(e ix + e ix )] Daraus folgt Satz 45 Für jeden n N ist cos(nϕ) als Polynom n Grades in cos(ϕ) darstellbar [Bew: Durch vollständige Induktion] Def: Tschebyscheff-Polynome vom Grad k mit k N, x = cosϕ, x [, ], und ϕ [0, 2π] Andere Darstellung T k (x) = T k (cos(ϕ)) = cos(kϕ) (422) T k = cos ( k cos (x) ) = ( )k 2 k (k!) [ ( x 2 /2 dk ( ) ) ] x 2 k /2 (423) (2k)! dx k Die Wichtungsfunktion (vgl Gl 44) lautet hier w(x) = ( x 2 ) /2 damit erhält man T k (x)t j (x) dx = ( x 2 ) /2 die Polynome sind also Orthogonal Aus Gl (42) folgt die Rekursionsformel 0 k j 2 π k = j > 0 π k = j = 0 (424) mit T 0 (x) = und T (x) = x Die ersten Polynome lauten T k+ (x) = 2xT k (x) T k (x) k (425) T 2 = 2x 2 T 3 = 4x 3 3x T 4 = 8x 4 8x 2 + Für die Nullstellen der cos-funktion gilt cos(kϕ) = 0 = kϕ = (2j ) π 2 j N 0
36 KAPITEL 4 INTERPOLATION Die Nullstellen von T k liegen also bei ( ) 2j + π x j = cos k 2 - diese liegen innerhalb [, ] - sind symmetrisch zum Ursprung - liegen dichter zu den Rändern des Intervalls - heißen Tschebyscheff-Abszissen Es gilt: Satz 46 Sei Für jede Wahl von x j [, ] gilt: ist minimal für W(x) = Dj die x j sind die Nullstellen von T n+ (x) 46 Intervallverschiebung j = 0,,, k k (426) n (x x j ) j= W = max x W(x) W(x) = 2 nt n+(x) Die Tschebyscheff-Polynome sind nur in [, ] definiert, brauche also Intervall-Transformation Gehe von [c, d] [a, b] durch lineare Streckung x = mt + β mit t [c, d], x [a, b] Die Werte von m, β folgen aus x = a für t = c x = b für t = d damit ( ) b a x = t + d c Für Tschebyscheff gilt c =, d = und es folgt ( ) b a x = 2 ad bc d c t + a + b 2 Die Extremalstellen von T n (x) (liegen zwischen den Nullstellen) sind hier ( ) n k t k = cos n π Die Interpolation mit Tschebyscheff-Abszissen heißt nicht, dass - e T (x) kleiner als e Eq (x) ist, gibt nur eine bekannte obere Schranke an - W 2 minimiert nicht unbedingt Tschebyscheff (427) (428)
47 SPLINE-INTERPOLATION 37 47 Spline-Interpolation Hatten: Äquidistante Stützstellen Überschwinger am Rand Tschebyscheff Stützstellen ungleiche Abstände Brauche bei großen Punktzahlen (zb n > 00) andere Methode Oft benutzt Spline-Interpolation Zur Interpolation von Messdaten, Tabellen (eg Opazitäten in der Astrophysik) Abbildung 4: Beispiel eine Polynom-Interpolation durch einige Stützpunkte (glatte Linie) Ein einfache lineare Interpolation durch Verbinden der Punkte (gestrichelte Linie) erzeugt offensichtlich bessere Ergebnisse Methode: Interpoliere stückweise durch Polynom min kleinem Grad, vergleiche Abb 4 Die lineare Interpolation gibt offensichtlich eine bessere Näherung, ist aber nicht glatt, Sprung in Ableitungen Splines [Schoenberg (946)]: Dünnerelastischer Stab (spline) durch Punkte x j, y j gelegt 47 Konstruktion Gegeben Punkte x j, f(x j ), j = 0,, n Suche Funktion S(x) mit Eigenschaft S(x) C 2 [a, b], dh S, S, S sind stetig S(x j ) = f(x j ) = f j, S(x) interpoliert f(x) S(x) ist kubisches Polynom in jedem [x j, x j+ ] Diese Eigenschaften definieren einen stückweisen kubischen Spline (siehe Abb 42) Bezeichne Spline zwischen [x j, x j+ ] mit S j, diese S 0, S,, S n sind kubisch, habe also 4n Koeffzienten und brauche 4n Bedingungen Für die Funktionswerte gilt (vgl Abb 42): S 0 (x 0 ) = f 0 S 0 (x ) = f = S (x ) S (x 2 ) = f 2 = S 2 (x 2 ) 2n Bedingungen (429) = S n 2 (x n ) = f n = S n (x n ) S n (x n ) = f n
38 KAPITEL 4 INTERPOLATION S(x) x,f 0 0 S 0 x,f S x,f 2 2 x x x 0 2 x Abbildung 42: Graphik zur Illustration der Spline-Interpolation durch die drei ersten Stützpunkte Zwischen zwei Punkten wird jeweils ein kubischer Spline gelegt und glatt mit den Nachbar-Splines verbunden Ableitungen: S 0 (x ) = S (x ) S (x 2 ) = S 2(x 2 ) S n 2 (x n ) = S n (x n ) n Bedingungen (430) Zweite Ableitungen: S 0 (x ) = S (x ) S (x 2) = S 2 (x 2) S n 2(x n ) = S n (x n ) n Bedingungen (43) Brauche also noch 2 extra Bedingungen Oft benutzt: S S 0 (x 0) = 0 n (x n) = 0 } 2 Bedingungen (432) Es wird also an Geraden für x < x 0 bzw x > x n gefittet Dies definiert die sog Natural Splines Habe also System mit 4n Unbekannten (groß) Es ist mögliche, dies auf n zu reduzieren Sei h i = x i+ x i (433) S i = a i (x x i ) 3 + b i (x x i ) 2 + c i (x x i ) + d i (434)
47 SPLINE-INTERPOLATION 39 dann folgt aus den Stetigkeitsbedinungen für Funktion S(x), erste und zweite Ableitung S i (x i ) = d i = y i S i (x i+ ) = a i h 3 i +b i h 2 i +c i h i +d i = y i+ S i (x i) = c i S i(x i+ ) = 3a i h 2 i +2b i h i +c i = S i (x i) = 2b i = y i S i (x i+ ) = 6a i h i +2b i = i+ (435) Aus den ersten beiden und letzten beiden Gleichungen folgt ( ) a i = 6h i y i+ y i b i = 2 y i c i = h i (y i+ y i ) h ( 6 i y i+ + ) (436) 2y i d i = y i Dh: Sind die Stützwerte y i und die zweiten Ableitungen an x i bekannt, dann sind die Koeffizienten der kubischen Interpolations-Polynome eindeutig bestimmt Es ist also zweckmäßig, die 2 Ableitungen als Unbekannte zu betrachten Aus den mittleren Gleichungen (in 435) für die Stetigkeit der ersten Ableitung folgt: s i(x i+ ) = h i (y i+ y i ) + 6 h i ( ) 2y i+ + y i (437) ziehe Index runter: s i (x i) = mit folgt (y i y i ) + h i 6 h ( i 2y i + ) y i S i (x i) = S i (x i) = c i (438) h i i + 2(h i + h i ) + h i i+ = 6 h i (y i+ y i ) 6 h i (y i y i ) (439) Dies gilt für alle inneren Stützstellen x i (i =, 2,, n ) Mit y 0 = y n = 0 Sytsem von n linearen Gleichungen für (n ) Unbekannte y i Schreibe A i y i + B i y i + C i y i+ = R i (440) Dies entpricht dem linearen Gleichungssystem B C A 2 B 2 C 2 A 3 B 3 C 3 A n 2 B n 2 C n 2 A n B n 2 3 n = R R 2 R 3 R n (44)
40 KAPITEL 4 INTERPOLATION in Kurzform mit A = R A i = h i = x i x i i = 2,, n B i = 2(h i + h i ) = 2(x i+ x i ) i =,, n C i = h i = x i+ x i i =,, n 2 R i = 6 h i (y i+ y i ) 6 h i (y i y i ) i =,, n Korrektur für die erste und letzte Gleichung (es gibt kein A 0, C n ) (442) R = R h 0 y 0 (443) R n = R n h n y n (444) Die Matrix A ist tridiagonal und symmetrisch mit A i+ = C i Es ist B i 4A i bzw 4C i Für h i = const = h gilt 4 4 4 4 A = (445) 4 4 Lösung durch: a) Gauß-Elimination (gut bis mind 00 Pkt) b) Iterativ (später) Rechenschema: Eliminiere A i (forward elimination) Für i = 2, n B i = B i C i /B i A i R i = R i R i /B i A i Ausrechnen (backward substitution) Höchster Wert dann sukzessiv n = R n /B n Für i = n 2, i = (R i C i i+)/b i Daraus folgen dann die Koeffizienten a i, b i, c i, d i nach Gl (436) 472 Erweiterte Randbedingungen Manchmal ist nicht so günstig Weitere Möglichkeiten 0, n = 0
47 SPLINE-INTERPOLATION 4 a) (Extrapolation) y 0 = αy (446) y n = βy n (447) b) Dritte Ableitung (dh Polynome) stimmen an den Rändern überein nicht-tridiagonal System c) Ableitung an Rändern vorgeben S 0 (x ) = S (x ) (448) S n 2 n ) = S n n ) (449) S (x 0 ) = y 0 (450) S (x n ) = y n (45) 2 Gleichungen für y 0, y n Matrix bleibt tridiagonal, symmetrisch, diagonaldominant d) Periodische Randbedingungen y 0 = y n (452) y 0 = y n (453) 0 = n (454) Symmetrische Matrix, aber nicht mehr tridiagonal Das lineare Gleichungssystem sieht dann so aus B C D A 2 B 2 C 2 A 3 B 3 C 3 A n 2 B n 2 C n 2 E n A n B n 2 3 n = R R 2 R 3 R n (455)