Interpolationsproblem. Interpolation. Interpolationsproblem. Interpolationsproblem. Gegeben seien eine Funktion. Φ (x; a 1,...

Ähnliche Dokumente
Numerische Verfahren

5 Interpolation und Approximation

6. Polynom-Interpolation

Themen Lagrange-Interpolation Hermite-Interpolation. Splines. Bézier-Kurven. 5 Interpolation. Interpolation Die Lagrangesche Interpolationsaufgabe

8 Interpolation. 8.1 Problemstellung. Gegeben: Diskrete Werte einer Funktion f : R R an n + 1 Stützstellen. x 0 < x 1 <... < x n.

KAPITEL 8. Interpolation

Numerische Verfahren

Numerische Methoden. Heinrich Voss Technische Universität Hamburg Harburg Institut für Numerische Simulation 2010

1 2 x x x x x x2 + 83

Übungen zu Splines Lösungen zu Übung 20

Polynominterpolation

6 Polynominterpolation

Polynominterpolation mit Matlab.

Approximation durch Polynome

(x x j ) R m [x] (3) x x j x k x j. R m [x]. (4)

Die Interpolationsaufgabe besteht darin, eine (einfache) Funktion u n U n zu finden,

Inhalt Kapitel IV: Interpolation

Spline-Interpolation

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

Spline-Räume - B-Spline-Basen

Die Interpolationsformel von Lagrange

T n (1) = 1 T n (cos π n )= 1. deg T n q n 1.

Numerische Integration und Differentiation

Interpolation. Kapitel 3

Nachklausur am Donnerstag, den 7. August 2008

Musterlösung zum Übungsblatt Interpolation nach Newton, Nevill, Lagrange.

8 Polynominterpolation

NUMERISCHE MATHEMATIK II 1. (Studiengang Mathematik) Prof. Dr. Hans Babovsky. Institut für Mathematik. Technische Universität Ilmenau WS 2001/2002

Gitterfreie Methoden. Florian Hewener. 29. Oktober 2013

5 Interpolation und numerische Approximation

42.3 Der Fundamentalsatz der Algebra

5 Randwertprobleme. y = f(t, y, y ) für t J, (5.2a) y(t 0 ) = y 0, y(t) = y T (5.2b) zu gegebener Funktion f und Werten y 0, y T.

3.1.3 Newtonsche Interpolationsformel / Dividierte Differenzen

HTL Kapfenberg SPLINE Interpolation Seite 1 von 7.

Begleitmaterial zur Vorlesung Numerik I

Numerik für Ingenieure I Wintersemester 2008

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

Nichtlineare Gleichungssysteme

5 Numerische Mathematik

5 Numerische Iterationsverfahren

3.6 Approximationstheorie

Grundlagen der Numerischen Mathematik. Heinrich Voß

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen

KAPITEL 10. Numerische Integration

Kapitel 6 Grenzwerte von Funktionen und Stetigkeit

Kapitel 4. Interpolation. 4.1 Allgemeines Normen von Funktionen

Mathematik. für das Ingenieurstudium. 10 Funktionen mit mehreren Variablen. Jürgen Koch Martin Stämpfle.

AUFGABENSAMMLUNG ZU VEKTORRECHNUNG FÜR USW

Seminar Gewöhnliche Differentialgleichungen

KAPITEL 5. Nichtlineare Gleichungssysteme

3 Interpolation und Approximation

Inexakte Newton Verfahren

Systeme von Differentialgleichungen. Beispiel 1: Chemische Reaktionssysteme. Beispiel 2. System aus n Differentialgleichungen 1. Ordnung: y 1.

Dierentialrechnung mit einer Veränderlichen

2. Geben Sie für das Jacobi-Verfahren eine scharfe a-priori Abschätzung für den Fehler. x (10) x p

Nichtlineare Gleichungssysteme

Eigenwerte und Diagonalisierung

Interpolation und Integration mit Polynomen

Analysis I. 4. Beispielklausur mit Lösungen

Numerische Verfahren

Klausur zur Vordiplom-Prüfung

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen

Numerische Verfahren

Definition 131 Sei R ein (kommutativer) Ring. Ein Polynom über R in der Variablen x ist eine Funktion p der Form

15 Integration (gebrochen) rationaler Funktionen

Regression, Interpolation, numerische. Integration

Institut für Geometrie und Praktische Mathematik

9 Lineare Gleichungssysteme

A 1 A 2 A 3 A 4 A 5 A 6 A 7

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

6 Iterationsverfahren für lineare und nichtlineare Gleichungssysteme

Modulprüfung Numerische Mathematik 1

5 Potenzreihenansatz und spezielle Funktionen

2 Polynome und rationale Funktionen

Approximation von Funktionen

Lösungen der Aufgaben zu Kapitel 9

9. Parametrische Kurven und Flächen

1/26. Integration. Numerische Mathematik 1 WS 2011/12

18 Höhere Ableitungen und Taylorformel

Implizite Funktionen, der Umkehrsatz und Extrema unter Nebenbedingungen

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB)

3.6 Eigenwerte und Eigenvektoren

Brückenkurs Rechentechniken

Kapitel 4: Nichtlineare Nullstellenprobleme

Aufgaben zu Kapitel 20

Klausur zur Vordiplom-Prüfung

5. Numerische Differentiation. und Integration

Konvergenz im quadratischen Mittel und die Parsevelsche Gleichung

MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE

2.5 Lineare Differentialgleichungen n-ter Ordnung

Konvergenz im quadratischen Mittel und Parsevalsche Gleichung

4.3 Anwendungen auf Differentialgleichungen

( ) Dann gilt f(x) g(x) in der Nähe von x 0, das heisst. Für den Fehler r(h) dieser Näherung erhält man unter Verwendung von ( )

12 Gewöhnliche Differentialgleichungen

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Partialbruchzerlegung

GRUNDLAGEN MATHEMATIK

Polynome und ihre Nullstellen

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades

Vorlesung Mathematik 2 für Ingenieure (Sommersemester 2016)

Transkript:

sproblem Heinrich Voss voss@tu-harburg.de Hamburg University of Technology Institute for Numerical Simulation Gegeben seien eine Funktion Φ (x; a 1,..., a n ) : R I R, die auf einem Intervall I erklärt ist und von n Parametern a 1,..., a n abhängt, paarweise verschiedene Knoten (oder Stützstellen) x 1,..., x m I, m Vielfachheiten r 1,..., r m N mit r i = n und Werte y ij R, i = 1,..., m, j = 0,..., r i 1. i=1 Bestimme die Parameter a 1,..., a n so, dass die sbedingungen erfüllt sind: Φ (j) (x i ; a 1,..., a n ) = y ij, i = 1,..., m, j = 0,..., r i 1. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 1 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 2 / 49 sproblem sproblem Ist Φ linear in den Parametern a i, d.h. Φ (x; a 1,..., a n ) = so heißt das sproblem linear. n a i φ i (x), i=1 1. Polynominterpolation Φ (x; a 0,..., a n ) = n a j x j j=0 Gilt r j = 1 für alle j, so spricht man von Lagrange, andernfalls von Hermite. Bemerkung: Bei der Lagrange werden nur Funktionswerte, aber keine Ableitungen vorgeschrieben. Man beachte, dass bei der Hermite alle Ableitungen der Ordnung 0,..., r i 1 vorgeschrieben werden. Lässt man Lücken bei den vorgeschriebenen Ableitungen zu, so spricht man von einem Hermite Birkhoff sproblem. 2. trigonometrische n Φ (x; a 0,..., a 2n ) = a 0 + (a 2j 1 sin(jx) + a 2j cos(jx)) j=1 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 3 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 4 / 49

sproblem sproblem 3. rationale 4. Spline Φ (x; a 0,..., a n, b 0,... b p ) = Φ (x; a 1,..., a n ) = n i=0 a ix i p j=0 b jx j. n a i φ i (x), wobei die φ i auf Teilintervallen von I mit Polynomen übereinstimmen. i=1 Wir werden uns nur mit der Polynominterpolation und der mit Splines beschäftigen. Die trigonometrische und die rationale werden ausführlich in den Büchern von Braess, Stoer und Schwarz behandelt. Man benötigt die zur 1 Bestimmung von Zwischenwerten aus Funktionstafeln (was seit der Verbreitung von elektronischen Taschenrechnern an Bedeutung verloren hat), 2 Herleitung von Formeln zur numerischen Integration, 3 Konvergenzbeschleunigung durch Extrapolation, 4 Numerische Behandlung von gewöhnlichen Differentialgleichungen. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 5 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 6 / 49 Polynominterpolation Wir betrachten in diesem Abschnitt die mit Polynomen. Dabei behandeln wir vor allem das Lagrangesche sproblem. Gegeben seien n + 1 verschiedene Knoten x j R, j = 0,..., n, und n + 1 nicht notwendig verschiedene Werte y j R. Gesucht ist ein Polynom p vom Höchstgrade n, so dass gilt p(x j ) = y j für j = 0,..., n. Lagrangesche sformel Satz 2.4 [Existenz und Eindeutigkeit] Zu beliebigen n + 1 Daten (x j, y j ) R 2, j = 0,..., n, mit x j x k für j k gibt es genau ein Polynom p Π n mit p(x j ) = y j, j = 0,..., n. (1) Die Beweise werden zeigen, dass die Existenz- und Eindeutigkeitsresultate und die Algorithmen zur Berechnung des spolynoms ohne Änderungen für komplexe Knoten x j und komplexe Daten y j richtig bleiben. Nur die Fehlerabschätzungen beziehen sich auschließlich auf reelle Probleme. Beweis Eindeutigkeit: Angenommen es gibt zwei Polynome p 1, p 2 Π n mit p k (x j ) = y j, j = 0,..., n, k = 1, 2. Dann besitzt das Polynom p := p 1 p 2 Π n die n + 1 Nullstellen x 0,..., x n, und daher folgt aus dem Fundamentalsatz der Algebra p 0. Wir bezeichnen mit Π n die Menge der Polynome von Höchstgrad n (mit reellen oder komplexen Koeffizienten). Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 7 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 8 / 49

Lagrangesche sformel Existenz: Die Existenz zeigen wir konstruktiv. Es sei / n n l j (x) = (x x i ) (x j x i ), j = 0,..., n. (2) i=0 i j i=0 i j 1.5 1 Lagrangesche sformel spolynom: (0,1), (1, 0.5), (2,0), (3, 0.5), (4,0) Dann gilt l j Π n und l j (x k ) = δ jk für j, k = 0,..., n, und daher erfüllt 0.5 p(x) := n y j l j (x) Π n (3) j=0 0 die sbedingungen (1). Definition Die Darstellung (2), (3) des spolynoms heißt Lagrangesche sformel. 0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 9 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 10 / 49 Lagrangesche sformel Software 1.2 Basisfunktionen Lagrange : (0,1), (1, 0.5), (2,0), (3, 0.5), (4,0) l 0 l 4 1 0.8 0.6 l 1 l 2 l 3 MATLAB stellt die Funktionen p=polyfit(x,y,n) zur Verfügung, durch die die Koeffizienten p des Ausgleichspolynoms vom Grad n zu den Daten (x, y) bestimmt werden. 0.4 Ist dim x = n + 1, so erhält man das spolynom. 0.2 0 Mit y=polyval(p,x) kann man das Polynom dann an der Stelle x (oder den Stellen x(j), falls x ein Vektor ist) auswerten. 0.2 0.4 0 0.5 1 1.5 2 2.5 3 3.5 4 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 11 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 12 / 49

Newtonsche sformel Wir werden nun eine Form des spolynoms herleiten, bei der 1.5n(n + 1) flops zur Vorbereitung benötigt werden, die Auswertung an einer festen Stelle dann aber nur noch 3n flops erfordert. Wir behandeln dazu zunächst die folgende Frage: Das Polynom p n (x) Π n interpoliere die Daten (x j, y j ) R 2, j = 0,..., n. Wir nehmen ein weiteres Zahlenpaar (x n+1, y n+1 ) R 2, x n+1 x j, j = 0,..., n, hinzu. Kann man dann das spolynom p n+1 (x) Π n+1 zu den Daten (x j, y j ), j = 0,..., n + 1, schreiben als p n+1 (x) = p n (x) + f (x) Newtonsche sformel Wegen p n (x) Π n, p n+1 (x) Π n+1 gilt f (x) = p n+1 (x) p n (x) Π n+1, und wegen y j = p n+1 (x j ) = p n (x j ) + f (x j ) = y j + f (x j ), j = 0,..., n, gilt f (x j ) = 0, j = 0,..., n. Daher hat f (x) mit einem a R die Gestalt n f (x) = a (x x j ). j=0 a kann man aus der sbedingung y n+1 = p n+1 (x n+1 ) = p n (x n+1 ) + a n (x n+1 x j ) j=0 mit einer leicht berechenbaren Funktion f (x)? ermitteln: a = y n+1 p n (x n+1 ) (x n+1 x 0 ) (x n+1 x n ). Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 13 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 14 / 49 Satz 2.10 (Aitken Lemma) Rekursionsformel Es sei zu (x j, y j ) R 2, j = 0,..., n, x i x j für i j, das spolynom gesucht. Seien p [0] Π n 1 durch die sbedingungen p [0] (x j ) = y j, j = 0,..., n 1, festgelegt, und sei p [n] Π n 1 definiert durch p [n] (x j ) = y j, j = 1,..., n. Dann gilt p(x) = p [0](x)(x x n ) p [n] (x)(x x 0 ) x 0 x n. Für 0 i j n sei nun p ij Π j i das spolynom, das p ij (x k ) = y k, k = i,..., j, erfüllt. Dann folgt aus dem Aitken Lemma, dass die p ij rekursiv berechnet werden können durch p ij (x) = p i,j 1(x)(x x j ) p i+1,j (x)(x x i ) x i x j (4) = p i+1,j (x) + (p i+1,j (x) p i,j 1 (x)) x x j x j x i Beweis Das angegebene Polynom erfüllt offenbar die sbedingungen p(x j ) = y j, j = 0,..., n. Diese Rekursionsformel kann verwendet werden, um den Wert des spolynoms an einer festen Stelle x (nicht das Polynom selbst) zu berechnen: Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 15 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 16 / 49

Algorithmus von Neville und Aitken for j = 0 : n do t(j) = y(j); xj = x - x(j); if j > 0 then for i = j-1 : -1 : 0 do t(i) = t(i+1) + (t(i+1) - t(i))*xj /(x(j) - x(i)); end for end if end for p = t(0) Bemerkung Mit dem Algorithmus von Neville und Aitken wird das linke Tableau aufgestellt, das die Werte P ij der interpolierenden Polynome p ij an der festen Stelle x enthält. Das rechte Tableau enthält die Reihenfolge, in der die P ij berechnet werden. x 0 y 0 = P 00 x 1 y 1 = P 11 x 2 y 2 = P 22 x 3 y 3 = P 33 x 4 y 4 = P 44 P 01 P 12 P 23 P 34 P 02 P P 03 13 P P 14 24 P 04 = p(x) 1 2 4 7 11 3 5 8 12 6 9 13 10 14 15 Zur Auswertung des spolynoms p an einer festen Stelle benötigt man mit dem Algorithmus von Neville und Aitken offenbar 5 2 n2 + O(n) flops. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 17 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 18 / 49 Bemerkung Newtonsche sformel Natürlich erhält man für jede Anordnung der Knoten x i (bei rundungsfehlerfreier Rechnung) dasselbe spolynom p n (x). Will man p n (x) nur an einer Stelle x (oder in deren Nähe ) auswerten, so kann man den Rundungsfehlereinfluss klein halten, indem man die Knoten so numeriert, dass gilt x x i x x i+1, i = 0,..., n 1. Die folgende Rekursionsformel wurde hergeleitet p 0n (x) = p 1,n(x)(x x 0 ) p 0,n 1 (x)(x x n ) x n x 0, wobei p 0,n 1 bzw. p 1,n die Daten (x 0, y 0 ),..., (x n 1, y n 1 ) bzw. (x 1, y 1 ),..., (x n, y n ) interpoliert. Da a der Koeffizient bei der hoechsten Potenz x n in p 0n ist, folgt Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 19 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 20 / 49

Satz 2.13 Newtonsche sformel Das spolynom p Π n aus hat die Gestalt p(x) = j 1 n [x 0,..., x j ] (x x k ), j=0 wobei die dividierten Differenzen [x 0,..., x j ] rekursiv definiert sind durch [x j ] := y j, k=0 [x k,..., x j ] := [x k+1,..., x j ] [x k,..., x j 1 ] x j x k, j > k 0. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 21 / 49 Dividierte Differenzen Die dividierten Differenzen c j := [x 0,..., x j ] kann man mit folgendem Algorithmus aus den Wertepaaren (x j, y j ) berechnen: for k = 0 : n do t(k) = y(k); if k > 0 then for i = k-1 : -1 : 0 do t(i) = (t(i+1) - t(i)) / (x(k) - x(i)); end for end if c(k) = t(0); end for Danach kann man das spolynom an jeder gewünschten Stelle x0 mit einem Horner-ähnlichen Schema auswerten: p = c(n); for i = n-1 : -1 : 0 do p = p * (x0 - x(i)) + c(i); end for Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 22 / 49 Aufwand Fehlerbetrachtung Man benötigt (wie für die Berechnung der Stützkoeffizienten bei der Lagrangeschen sformel) 3 2 n (n + 1) flops zur Berechnung aller c j, zur Auswertung von p an einer festen Stelle ˆx zusätzlich 3n flops. Die Newtonsche sformel liefert also die effizienteste Methode zur Auswertung des spolynoms. Selbst wenn man nur an einem Funktionswert interessiert ist, ist der Aufwand geringer als mit dem Algorithmus von Neville und Aitken. Wegen seiner einfachen Gestalt wird der Algorithmus von Neville und Aitken dennoch in der Praxis verwendet. Wir behandeln nun die Frage, wie gut eine gegebene, auf einem reellen Intervall definierte Funktion f durch das spolynom zu vorgegebenen Knoten x i in I approximiert wird (es sei also y i = f (x i )). Beispiel 2.20 Gegeben sei auf dem Intervall I = [ 1, 1] f (x) = sin πx und p 8 (x) Π 8, das spolynom zu den Knoten x i = 1 + i 0.25, i = 0,..., 8. Dann erhält man die Fehlerkurve der folgenden Abbildung. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 23 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 24 / 49

Fehlerkurve Fehlerbetrachtung x 10 3 1 0.5 Das spolynom liefert also am Rande des Intervalls eine ziemlich schlechte Approximation für f, obwohl f sehr gutartig ist (beliebig oft differenzierbar). 0 Das gezeichnete Verhalten ist typisch für die Polynominterpolation mit äquidistanten Knoten bei größerem n. 0.5 Eine gewisse Erklärung hierfür gibt der folgende Satz. 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 Fehlerkurve (äquidistante Knoten) Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 25 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 26 / 49 Satz 2.21 Sei f C n+1 [a, b], seien x j [a, b], j = 0,..., n, paarweise verschiedene Knoten, und sei p Π n das durch p(x j ) = f (x j ), j = 0,..., n, bestimmte spolynom. Dann gilt: Für x = x j, j = 0,..., n, ist die Aussage trivial. Für festes x x j betrachten wir die Funktion Beweis Zu jedem x [a, b] existiert ξ = ξ(x) aus dem kleinsten Intervall I (x, x 0,..., x n ), das alle x j und x enthält, so dass gilt mit f (x) p(x) = ω(x) = ω(x) (n + 1)! f (n+1) (ξ), (5) n (x x i ). (6) i=0 F (z) := f (z) p(z) αω(z) (7) und bestimmen α R so, dass F(x) = 0 gilt. Dann besitzt F in I (x, x 0,..., x n ) wenigstens n + 2 Nullstellen. Nach dem Satz von Rolle besitzt F dort wenigstens n + 1 Nullstellen, F wenigstens n Nullstellen,... Schließlich hat F (n+1) mindestens eine Nullstelle ξ I (x, x 0,..., x n ). Wegen p Π n erhält man aus (7) Bemerkung 2.22 ω hat für äquidistante Knoten x j die Gestalt von f p 8 der Skizze aus Abbildung 1. F (n+1) (ξ) = f (n+1) (ξ) 0 α (n + 1)! = 0. Hiermit folgt wegen F(x) = 0 aus (7) die Behauptung. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 27 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 28 / 49

Satz von Faber Aus Satz 2.21 erhält man die folgende Abschätzung für die Güte der Approximation einer Funktion durch das spolynom wobei f p := max f (x) p(x) K (f ) x [a,b] (n + 1)! ω, (8) K (f ) = f (n+1). Zu jeder Folge von Zerlegungen von [a, b] mit n : a x n 0 < x n 1 <... < x n n b ( max x n i xi 1) n 0 für n i=1,...,n gibt es ein f C[a, b], so dass die Folge der zugehörigen spolynome p n Π n, die f an den Knoten xj n interpolieren, nicht gleichmäßig gegen f konvergiert. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 29 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 30 / 49 Spline Die in den vorhergehenden Abschnitten behandelte Polynominterpolation ist zwar leicht durchführbar, hat aber den Nachteil, dass bei Verfeinerung der Zerlegung keine Konvergenz zu erwarten ist. Bessere Konvergenzeigenschaften haben die nun zu besprechenden Spline-Funktionen. Sei : a = x 0 < x 1 <... < x n =: b eine Zerlegung des Intervalls [a, b]. Dann bezeichnen wir mit S(, p, q), p, q N 0, 0 q < p, die Menge aller Funktionen s C q [a, b], die auf jedem Teilintervall [x i 1, x i ], i = 1,..., n, mit einem Polynom vom Höchstgrad p übereinstimmen. Spline Am häufigsten treten in den Anwendungen (auf Randwertaufgaben) die Räume S(, 3, 2) (kubische Splines) und S(, 3, 1) (kubische Hermite Splines) auf. Daneben untersucht man für spezielle Aufgabenstellungen, bei denen Pole oder verschiedenes Wachstum in verschiedenen Teilen des Intervalls erwartet wird (Grenzschichtprobleme), nichtlineare Splines (rationale oder exponentielle Splines). Wir behandeln nur S(, 3, 2). Jedes s S(, p, q) heißt (Polynom-)Spline vom Grade p der Differenzierbarkeitsklasse q zur Zerlegung. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 31 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 32 / 49

Kubische Splines Vorbetrachtung s S(, 3, 2) ist in jedem Teilintervall [x i 1, x i ] ein Polynom dritten Grades, also ist s durch 4n Parameter bestimmt. Durch die Forderung s C 2 [a, b] werden in jedem inneren Knoten x i, i = 1,..., n 1, drei Bedingungen gegeben: zusammen also 3(n 1). s (j) (x i 0) = s (j) (x i + 0), j = 0, 1, 2, Daher besitzt ein kubischer Spline noch (wenigstens) n + 3 Freiheitsgrade, und wir können nicht erwarten, dass s durch die n + 1 sbedingungen s(x i ) = y i, i = 0,..., n, festgelegt ist, sondern es müssen noch 2 Randbedingungen hinzugenommen werden. Dies kann (je nach Aufgabenstellung) auf verschiedene Weise geschehen. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 33 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 34 / 49 Satz 2.32 Es sei eine Zerlegung von [a,b], und es seien y 0,..., y n R gegeben. Dann gibt es für jede der vier folgenden Randbedingungen genau einen interpolierenden kubischen Spline s S(, 3, 2) mit s(x j ) = y j, j = 0,..., n. (i) s (x 0 ) = y 0, s (x n ) = y n (y 0, y n R gegeben) (ii) s (x 0 ) = s (x n ), s (x 0 ) = s (x n ). (iii) s (x 0 ) = s (x n ) = 0. (iv) s (x 0 ) = y 0, s (x n ) = y n (y 0, y n R gegeben) Bemerkung Wird die mit kubischen Splines verwendet, um eine Funktion f : [a, b] R zu approximieren, so wird man die Randbedingungen (i) verwenden, wenn die Ableitung von f in den Randpunkten a und b des Intervalls bekannt sind, die Randbedingung (ii), wenn die Funktion f periodisch mit der Periode b a ist, und die Randbedingung (iv), wenn zusätzlich zu den Lagrangeschen sdaten am Rand des Intervalls die zweiten Ableitungen bekannt sind. Erfüllt s S(, 3, 2) die Randbedingung (iii), so kann man s auf {x : x < x 0 } bzw. {x : x > x n } zweimal stetig differenzierbar als lineare Funktion fortsetzen. Kubische Splines, die man auf diese Weise erhält, heißen natürliche Splines. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 35 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 36 / 49

Bemerkung Beweis von Satz 2.32 Im Buch von de Boor werden vier weitere Randbedingungen diskutiert, unter denen die Existenz und Eindeutigkeit des interpolierenden Splines gesichert ist. Unter ihnen besonders wichtig ist die sog. not-a-knot Bedingung. Diese wird verwendet, wenn nichts über das Verhalten der interpolierenden Funktion an den Rändern des Intervalls (außer den Funktionswerten) bekannt ist. Man wählt dann als Knoten für den Spline die Punkte x 0 < x 2 < < x n 2 < x n. Ein Spline zu diesen n 2 Intervallen hat n + 1 Freiheitsgrade und ist durch die n + 1 sbedingungen s(x j ) = y j, j = 0,..., n eindeutig bestimmt. Der Beweis ist konstruktiv, er liefert also ein Verfahren zur Berechnung der jeweiligen interpolierenden Splines. Sei h j+1 := x j+1 x j, j = 0,..., n 1, und m j := s (x j ), j = 0,..., n, die zweite Ableitung der gesuchten Splinefunktion an der Stelle x j. Wir wollen zeigen, dass der Vektor m := (m 0,..., m n ) T für jede der vier Randbedingungen eindeutige Lösung eines linearen Gleichungssystems ist und dass man aus den m j den Spline s(x) an jeder Stelle x [a, b] leicht errechnen kann. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 37 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 38 / 49 Beweis von Satz 2.32 ctn. s ist in jedem Teilintervall [x j, x j+1 ] ein kubisches Polynom. Also ist s stückweise linear, und man kann s mit Hilfe der m j so beschreiben. s (x) = 1 h j+1 (m j (x j+1 x) + m j+1 (x x j )), x [x j, x j+1 ]. Durch Integration erhält man für x [x j, x j+1 ], j = 0,..., n 1, Beweis von Satz 2.32 ctn. Die Integrationskonstanten α j und β j erhält man aus den sbedingungen s(x j ) = m j h 2 j+1 6 + β j = y j s(x j+1 ) = m j+1 h 2 j+1 6 + α jh j+1 + β j = y j+1, und s (x j+1 x) 2 (x x j ) 2 (x) = m j + m j+1 + α j (1) 2h j+1 2h j+1 d.h. β j = y j m j h 2 j+1 6 α j = y j+1 y j h j+1 h j+1 6 (m j+1 m j ). (3) s(x) = m j (x j+1 x) 3 6h j+1 + m j+1 (x x j ) 3 6h j+1 + α j (x x j ) + β j. (2) Setzt man α j und β j aus (3) in (2) ein, so erhält man die gewünschte Darstellung von s in Abhängigkeit von den m j. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 39 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 40 / 49

Beweis von Satz 2.32 ctn. n 1 Bestimmungsgleichungen für die m j erhält man, indem man die Stetigkeit von s ausnutzt: Setzt man α j aus (3) in (1) ein, so erhält man s (x) = m j (x j+1 x) 2 2h j+1 + m j+1 (x x j ) 2 2h j+1 + y j+1 y j h j+1 h j+1 6 (m j+1 m j ), x [x j, x j+1 ]. (4) Also liefert die Forderung s (x j 0) = s (x j + 0) y j y j 1 h j d.h. für j = 1,..., n 1 h j + h j 3 m j + h j 6 m j 1 = y j+1 y j h j+1 h j+1 3 m j h j+1 6 m j+1, 6 m j 1 + h j + h j+1 m j + h j+1 3 6 m j+1 = y j+1 y j h j+1 y j y j 1 h j. (5) Beweis von Satz 2.32 ctn. Die restlichen beiden Bedingungen für die m j erhält man aus den Randbedingungen (i), (ii), (iii) oder (iv). Für die natürlichen Splines hat man in (5) s (a) = m 0 = 0 = m n = s (b) zu setzen, im Fall (iv) die inhomogenen Gleichungen m 0 = y 0 und m n = y n. Im Fall (i) hat man wegen (4) das System (5) zu ergänzen durch h 1 3 m 0 + h 1 6 m 1 = y 1 y 0 h 1 y 0, h n 6 m n 1 + hn 3 m n = y n yn y n 1 h n. (6) Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 41 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 42 / 49 Beweis von Satz 2.32 ctn. Im Falle periodischer Randbedingungen gilt m 0 = m n, und wegen s (a) = s (b) erhält man aus (4) h 1 6 m 1 + h n 6 m n 1 + h n + h 1 3 m 0 = y 1 y 0 h 1 y n y n 1 h n. (7) In jedem Fall ergeben sich also die m j als Lösung eines linearen Gleichungssystems Ax = b, (8) wobei für alle Zeilen der Matrix A gilt: Konvergenzsatz 2.37 Sei f C 3 [a, b] und sei s S(, 3, 2) der interpolierende Spline, der eine der Randbedingungen (i) oder (ii) oder s (a) = f (a), s (b) = f (b) erfüllt. Dann gilt mit den Konstanten C 0 = 9 8 und C 1 = C 2 = 9 4 wobei s (ν) f (ν) C ν 3 ν ω(f, ), ν = 0, 1, 2, (9) ω(g, h) := sup { g(x) g(y) : x, y [a, b], x y h} den Stetigkeitsmodul von g bezeichnet. a ii > j i a ij. Genügt f einer Lipschitzbedingung f (x) f (y) L x y für alle x, y [a, b], Die Koeffizientenmatrix ist also strikt diagonaldominant. Nach dem Satz von Gerschgorin ist sie dann regulär, und daher ist das Gleichungssystem (8) für jede rechte Seite b eindeutig lösbar. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 43 / 49 so gilt s (ν) f (ν) L C ν 4 ν, ν = 0, 1, 2. (10) Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 44 / 49

Bemerkung Satz 2.37 zeigt, dass Spline en geeignet sind, um Ableitungen von Funktionen, von denen nur diskrete Werte bekannt sind, zu approximieren. Lokale Basis Der Raum der kubischen Splines S(, 3, 2) besitzt eine lokale Basis. Seien x 3 < x 2 < x 1 < a und b < x n+1 < x n+2 < x n+3 zusätzliche Knoten. Dann überzeugt man sich leicht (aber mit Hilfe einer längeren Rechnung), dass die Funktionen φ i (x) = (x x i 2 ) 3 + i+2 j=i 1 (x j x i 2 ) + (x i+2 x) 3 + i+1 j=i 2 (x i+2 x j ) + (x x 3 i 1) + (x j=i 2 j x i 1 ) j i 1 (x 3 i+1 x) + i+2 i+2 eine Basis von S(, 3, 2) bilden. j=i 2 j i+1 (x i+1 x j ), x x i Dabei bezeichnet (x) + die Funktion { x für x 0 (x) + := 0 für x 0., x x i, i = 1,..., n + 1 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 45 / 49 Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 46 / 49 φ i φ i+1 φ i+2 Fehlerkurve φ i+3 B-Splines Jeder B-Spline ist auf 4 Teilintervallen nichttrivial. Man kann zeigen, dass es keine Basis von S(, 3, 2) mit kleinerem Träger gibt. Man kann mit diesen φ i den Ansatz s(x) = n+1 i= 1 c i φ i (x) machen, und zur Lösung des sproblems das lineare Gleichungssystem s(x i ) = y i + Randbedingungen behandeln. Dieses besitzt ähnlich wie das für die m i wieder eine tridiagonale, diagonaldominante Koeffizientenmatrix, ist also problemlos lösbar. x i 2 x i 1 x i x i+1 x i+2 x i+3 x i+4 x i+5 Die Basisfunktionen φ j heißen B-Splines. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 47 / 49 Nicht benutzen sollte man jedoch für numerische Zwecke die folgende Basis von S(, 3, 2), die bisweilen in Büchern angegeben ist: 1, x, x 2, x 3, (x x i ) 3 +, i = 1,..., n 1, wegen der schlechten Kondition des entstehenden linearen Heinrich Gleichungssystems. Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 48 / 49

MATLAB MATLAB stellt die Funktion yy=spline(x,y,xx) zur Verfügung. Besitzen die Vektoren x und y gleiche Länge, so wird der interpolierende kubische Spline mit not-a-knot Randbedingungen bestimmt. Ist die Länge von y um 2 größer als die Länge n von x, so werden die erste und letzte Komponente von y als Steigungen von s in x(1) und x(n) gedeutet. Der Vektor yy enthält in der j-ten Komponente yy(j) = s(xx(j)). Zusätzlich wird von MATLAB die Toolbox SPLINES angeboten, in der auch andere Randbedingungen für S(, p, p 1), Glättung von Daten durch Ausgleich mit Splines und Tensorprodukte von Splines zur Darstellung von Flächen realisiert sind. Im Rechenzentrum ist eine Lizenz der Toolbox verfügbar. Heinrich Voss (Hamburg University of TechnologyInstitute for Numerical Simulation) Kapitel 2 2010 49 / 49