Polynominterpolation
In der numerischen Mathematik versteht man unter Polynominterpolation die Suche nach einem Polynom, welches exakt durch vorgegebene Punkte (z. B. aus einer Messreihe) verläuft. Dieses Polynom wird Interpolationspolynom genannt und man sagt, es interpoliere die gegebenen Punkte.
Inhaltsverzeichnis
|
Anwendungen [Bearbeiten]
Polynome lassen sich sehr leicht integrieren und ableiten. Deswegen tauchen interpolierende Polynome an vielen Stellen in der numerischen Mathematik auf, beispielsweise bei der numerischen Integration und entsprechend bei Verfahren zur numerischen Lösung gewöhnlicher Differentialgleichungen.
Problemstellung [Bearbeiten]
Für
gegebene Wertepaare
mit paarweise verschiedenen Stützstellen
wird ein Polynom
maximal
-ten Grades gesucht, das alle Gleichungen
erfüllt. Ein solches Polynom existiert stets und ist eindeutig bestimmt, wie im Folgenden gezeigt wird.
Beim Interpolationsproblem ist also
im Vektorraum
der Polynome mit Grad
oder kleiner zu suchen, kurz
. Ist
eine Basis von
, so ergeben die Gleichungen
ein lineares Gleichungssystem für die Koeffizienten der Basisdarstellung
. Da sich ein und dasselbe Polynom aber unterschiedlich darstellen lässt, je nachdem welche Basis für den Vektorraum
gewählt wird, kann man ganz verschiedene Gleichungssysteme erhalten. Wählt man für
die Standardbasis
, also für
die Darstellung
, so erhält man ein Gleichungssystem mit der Vandermonde-Matrix:
.
Diese ist regulär, wenn die Stützstellen
paarweise verschieden sind, das Gleichungssystem lässt sich dann eindeutig lösen. Somit ist die Existenz und Eindeutigkeit des gesuchten Polynoms
immer sichergestellt. Trotz der theoretischen Machbarkeit wird diese Art der Interpolation in der Praxis nicht durchgeführt, da die Berechnung der Vandermonde-Matrix aufwendig ist (
) und zudem schlecht konditioniert bei einer ungeeigneten Wahl der Stützstellen.
Lösungsverfahren [Bearbeiten]
Obiges Gleichungssystem ließe sich beispielsweise mit dem Gaußschen Eliminationsverfahren lösen. Der Aufwand dafür ist mit
allerdings vergleichsweise groß. Bei Wahl einer anderen Basis als der Standardbasis zur Beschreibung des Polynoms
kann der Aufwand verringert werden.
Lagrangesche Interpolationsformel [Bearbeiten]
Eher für theoretische Betrachtungen günstig ist eine Darstellung in der Lagrange-Basis. Die Basisfunktionen sind die Lagrange-Polynome
die so definiert sind, dass
gilt, wobei
das Kronecker-Delta darstellt. Damit entspricht die Matrix
genau der Einheitsmatrix. Die Lösung des Interpolationsproblems lässt sich dann einfach angeben als
mit den Stützwerten
. Dies wird häufig benutzt, um die Existenz der Lösung des Interpolationsproblems zu beweisen. Ein Vorteil der Lagrange-Basis ist somit, dass die Basisfunktionen
von den Stützwerten
unabhängig sind. Dadurch lassen sich verschiedene Sätze von Stützwerten
mit gleichen Stützstellen
schnell interpolieren, wenn die Basisfunktionen
einmal bestimmt worden sind. Ein Nachteil dieser Darstellung ist jedoch, dass alle Basisvektoren bei Hinzunahme einer einzelnen Stützstelle komplett neu berechnet werden müssen, weshalb dieses Verfahren für die meisten praktischen Zwecke zu aufwändig ist.
Newtonscher Algorithmus [Bearbeiten]
In diesem Verfahren wird das Polynom
in Newton-Basis dargestellt, so dass die Koeffizienten effizient mit dem Schema der dividierten Differenzen bestimmt werden können. Eine effiziente Auswertung des Polynoms kann dann mithilfe des Horner-Schemas erfolgen.
Ansatz: Newton-Basis [Bearbeiten]
Als Ansatz für das gesuchte Interpolationspolynom
wählt man die Newton-Basisfunktionen
und
mit
, so dass
dargestellt wird mit der Newtonschen Interpolationsformel
Das Gleichungssystem der Gleichungen
hat dann die Form
Im Gegensatz zur komplizierten Vandermonde-Matrix bei Wahl der Standardbasis
erhält man bei Wahl der Newton-Basis also eine einfach strukturierte untere Dreiecksmatrix und das Gleichungssystem lässt sich einfach lösen.
Bestimmung der Koeffizienten: Schema der dividierten Differenzen [Bearbeiten]
Die Koeffizienten
werden aber nicht direkt aus dem obigen Gleichungssystem bestimmt, sondern effizienter mithilfe der dividierten Differenzen. Durch Induktion beweist man mit der Rekursionsformel von Aitken, dass für die Koeffizienten
gilt
.
Dabei sind für
die dividierten Differenzen
rekursiv definiert durch
![[x_i]f = f_i \qquad](//upload.wikimedia.org/math/a/4/a/a4a99bb7a5a62c79e00b45bd7ee410d3.png)
.
Die Notation mit angehängtem
erklärt sich dadurch, dass oft eine unbekannte Funktion
angenommen wird, die bei bekannten Funktionswerten
interpoliert werden soll.
Die rekursive Berechnung der dividierten Differenzen lässt sich wie folgt veranschaulichen. Dabei sind die gesuchten Koeffizienten
genau die oberste Schrägzeile:
Offensichtlich ist bei Ergänzung der
Wertepaare
um einen weiteren Punkt
in obigem Schema nur eine weitere Zeile hinzuzufügen, um den zusätzlichen Koeffizienten
zu berechnen. Die zuvor bestimmten Koeffizienten
müssen nicht neu berechnet werden.
Auswertung des Polynoms: Horner-Schema [Bearbeiten]
Wenn die Koeffizienten
des Interpolationspolynoms
einmal bekannt sind, kann man es effizient mithilfe des Horner-Schemas auswerten. Dazu schreibt man
in der Form (einfache Umformung der Newtonschen Interpolationsformel)
,
so dass
rekursiv berechnet werden kann durch
Dies erfordert einen Aufwand von
.
Algorithmus von Neville-Aitken [Bearbeiten]
Ähnlich wie im Newtonschen Algorithmus wird beim Algorithmus von Neville-Aitken die Lösung rekursiv berechnet. Dazu bezeichne
das eindeutig bestimmte Interpolationspolynom
-ten Grades zu den
Stützpunkten
, wobei
ist. Es gilt dann die Rekursionsformel von Aitken:
Beweisen lässt sie sich durch Einsetzen von
, wodurch man verifiziert, dass die rechte Seite der Gleichung die Interpolationsbedingung erfüllt. Die Eindeutigkeit des Interpolationspolynoms liefert dann die Behauptung.
Mit dem Schema von Neville kann die Auswertung von
dann rekursiv erfolgen:
Vergleich der Lösungsverfahren [Bearbeiten]
Möchte man alle Koeffizienten des Interpolationspolynoms
bestimmen, so bietet der Newtonsche Algorithmus hierfür den geringsten notwendigen Aufwand von
. Das so bestimmte Polynom lässt sich dann mit
Operationen an einer Stelle auswerten. Darum ist der Newtonsche Algorithmus gut geeignet, wenn das Interpolationspolynom an vielen Stellen ausgewertet werden soll. Auch lassen sich effizient weitere Stützpunkte hinzufügen. Liegen die Stützstellen oder die Stützwerte allerdings zu nahe beieinander, so besteht die Gefahr der Auslöschung bei der Bestimmung der dividierten Differenzen.
Der Neville-Aitken-Algorithmus ist dagegen gut geeignet, wenn ein Interpolationspolynom nur an ganz wenigen Stellen ausgewertet werden soll, dabei ist er weniger anfällig gegen Auslöschung. Auch im Neville-Aitken-Algorithmus lassen sich effizient neue Stützpunkte hinzufügen. So kann z. B. eine gewünschte Genauigkeit der Interpolation an einer Stelle durch Hinzufügen immer weiterer Stützstellen erreicht werden.
Beispiel: Interpolation der Tangensfunktion [Bearbeiten]
Interpoliere die Funktion
bei gegebenen Punkten
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Lösung mit Lagrange [Bearbeiten]
Die Lagrange-Basisfunktionen sind
also ist das Interpolationspolynom
Lösung mit Newton [Bearbeiten]
Die dividierten Differenzen sind hier
und das Interpolationspolynom ist
Verwendet man genauere Startwerte
, verschwinden der erste und der dritte Koeffizient.
Interpolationsgüte [Bearbeiten]
Fehlerabschätzung [Bearbeiten]
Gegeben sei eine Funktion
, deren
Funktionswerte
an den Stellen
durch das Polynom
interpoliert werden. Mit
sei das kleinste Intervall bezeichnet, das die Stützstellen
und eine Stelle
enthält. Ferner sei
(
)-mal stetig differenzierbar auf
. Dann existiert ein
, für das gilt:
Insbesondere ist also bezüglich der Supremumsnorm auf
:
Fehleroptimierung nach Tschebyschow[1] [Bearbeiten]
Der Fehler hängt also von einer Ableitung von
ab und von dem Produkt
, also den Stützstellen
. Manchmal ist man in der Position, dass man sich Stützstellen selbst wählen kann; etwa, wenn man ein physikalisches Experiment durchführt, oder aber auch bei einigen Verfahren zur numerischen Lösung von Differentialgleichungen. In diesem Fall ist die Frage interessant, für welche Stützstellen das Produkt
in der Maximumsnorm minimal wird.
Tschebyschow hat diese Frage vollständig geklärt: Betrachte die Polynome
mit den Nullstellen
. (Die „Tschebyschow-Polynome“ und „Tschebyschow-Punkte“) Die ersten Tschebyschow-Polynome sind:
Man kann dann beweisen, dass jedes Polynom der Form
auf dem Intervall
durch ein normiertes Tschebyschow-Polynom beschränkt bleibt. Diese Aussage kann dann mit der Transformation
auf den Fall eines allgemeinen Intervalls
übertragen werden. Der Beweis liefert auch die Abschätzung
Runges Phänomen [Bearbeiten]
Verbessert sich die Interpolationsgüte, wenn mehr Stützpunkte hinzugefügt werden? Im Allgemeinen nicht: Bei hohem Grad des Polynoms kann es vorkommen, dass die Polynomfunktion kaum noch der zu interpolierenden Funktion ähnelt, was auch als Runges Phänomen bekannt ist. Polynome streben im Grenzfall
gegen
. Verhält sich die zu interpolierende Funktion anders, etwa periodisch oder asymptotisch konstant, treten starke Oszillationen in der Nähe der Intervallgrenzen auf. Für solche Funktionen sind Polynominterpolationen über das gesamte Intervall relativ ungeeignet.
Tschebyschow-Stützstellen, die an den Intervallgrenzen dichter liegen, können zwar den Gesamtfehler der Interpolation verkleinern, dennoch empfiehlt sich ein Wechsel des Interpolationsverfahrens, etwa zur Spline-Interpolation. Runge gab für dieses Phänomen ein Beispiel an, die nach ihm benannte Runge-Funktion:
Konvergenzverhalten [Bearbeiten]
Es gibt aber Bedingungen, unter denen sich die Interpolationsgüte mit steigender Anzahl von Stützpunkten verbessert: Wenn das Stützstellengitter immer „feiner“ wird und eine analytische Funktion interpoliert wird. Genauer: Sei
eine analytische Funktion auf dem Intervall
. Für eine Intervallteilung
sei ihre Norm definiert durch
Zu jeder Intervallteilung
gibt es ein eindeutig bestimmtes Polynom
, das
an den Stützstellen
interpoliert. Gilt für eine Folge von Intervallteilungen
, so folgt
gleichmäßig.
Allerdings lässt sich zu jeder Folge
auch eine auf
stetige Funktion
finden, so dass
nicht gleichmäßig gegen
konvergiert (Satz von Faber[2]).
Verallgemeinerung [Bearbeiten]
Bisher wurden die Stützstellen
des Interpolationspolynoms
als paarweise verschieden angenommen. Bei der Hermiteinterpolation ist das nicht der Fall. Mehrfach vorkommende Stützstellen werden dabei als Ableitungen der zu interpolierenden Funktion
interpretiert.
Literatur [Bearbeiten]
- Hans R. Schwarz, Norbert Köckler: Numerische Mathematik, 5. Aufl., Teubner, Stuttgart 2004, ISBN 3-519-42960-8
- Stoer, Bulirsch: Numerische Mathematik 1. 10. Auflage. Springer Verlag, Berlin, Heidelberg, New York 2007, ISBN 978-3-540-45389-5, 2.1 Interpolation durch Polynome, S. 39-57 (Behandelt die Verfahren nach Lagrange, Neville-Aitken und Newton, Hermite-Interpolation und Fehlerabschätzung jeweils mit Beispielen und Beweisen.).
- Press, Teukolsky, Vetterling, Flannery: Numerical Recipes. The Art of Scientific Computing. 3. Auflage. Cambridge University Press, Cambridge 2007, ISBN 978-0-521-88407-5, 3.2 Polynomial Interpolation and Extrapolation, S. 118-120 (Neville-Aitken-Algorithmus mit C++-Implementation).
Weblinks [Bearbeiten]
- Seite zu Newton, Lagrange und Cubic Spline mit Java-Applet
- Erläuterungen und Beispiel zur Lagrange-Interpolation
Einzelnachweise [Bearbeiten]
- ↑ Jochen Werner: 10.4. In: Numerische Mathematik, 1, Vieweg Studium, Nr.32, Vieweg Verlagsgesellschaft, 1992, ISBN 3528072326.
- Auch hier (4.1.3.; PDF-Datei; 11,68 MB)
- ↑ Andrei Nikolajewitsch Kolmogorow, et al.: 4. In: Mathematics of the 19th Century, 1, Birkhäuser, 1998, ISBN 3764358459.
- Auch hier (Google Books)

.




.![[x_i]f = f_i \qquad](http://upload.wikimedia.org/math/a/4/a/a4a99bb7a5a62c79e00b45bd7ee410d3.png)
.![\begin{array}{crcrccrcrc}
[x_0]f \\
& \searrow \\{}
[x_1]f & \rightarrow & [x_0,x_1]f \\
& \searrow & & \searrow \\{}
[x_2]f & \rightarrow & [x_1,x_2]f & \rightarrow & [x_0,x_1,x_2]f \\{}
\vdots & \vdots & \vdots & \vdots & \vdots &\ddots \\{}
& \searrow & & \searrow & & & \searrow \\{}
[x_{n-1}]f & \rightarrow & [x_{n-2},x_{n-1}]f & \rightarrow & [x_{n-3},x_{n-2},x_{n-1}]f
& \cdots & \rightarrow & [x_0\ldots x_{n-1}]f \\
& \searrow & & \searrow & & & \searrow && \searrow\\{}
[x_n]f & \rightarrow & [x_{n-1},x_n]f & \rightarrow & [x_{n-2},x_{n-1},x_n]f
& \cdots & \rightarrow & [x_1\ldots x_n]f & \rightarrow & [x_0\ldots x_n]f
\end{array}](http://upload.wikimedia.org/math/d/5/5/d559a3007e474dd52bcc79fa0106c7ed.png)
,



















![\begin{align}
\xi\in[-1,1] &\rightsquigarrow x=\frac{a+b}{2}+\frac{b-a}{2}\xi &\in [a,b] \\
x\in[a,b] &\rightsquigarrow \xi = \frac{2x-a-b}{b-a} &\in [-1,1]
\end{align}](http://upload.wikimedia.org/math/0/9/9/099619223b757f1d4afff2b19dd675fb.png)
![\begin{align}
\|w_n(x)\|_{[a,b],\infty} =\max_{x\in[a,b]} |w_n(x)| =2\left(\frac{b-a}{4}\right)^{n+1}.
\end{align}](http://upload.wikimedia.org/math/f/5/6/f5627bead27a9ea704543ccbec8b4b7a.png)
![f(x)=\frac{1}{1+x^2}\,,\quad x\in[-5;5]](http://upload.wikimedia.org/math/b/0/8/b083d286ce15bb5fa2f844de322ba929.png)

