Polynominterpolation
Unter Polynominterpolation versteht man die Lösung der Aufgabe, ein Polynom zu finden, das n+1 gegebene Zuordnungen enthält und damit interpoliert. Für n+1 gegebene Punkte gibt es nach dem Fundamentalsatz der Algebra genau ein Polynom n-ten Grades, das diese erfüllt. Jenes nennen wir das Interpolations-Polynom.
Ein Polynom n-ten Grades hat n+1 Koeffizienten, also ebenso viele Freiheitsgrade. Die Lösung des Interpolationsproblems kann also durch ein lineares Gleichungssystem bestimmt werden. Wie dieses Gleichungssystem genau aussieht, hängt von der gewählten Darstellung beziehungsweise Basis ab.
Einführendes Beispiel: Lagrange-Interpolation
Das folgende Beispiel soll für n=2 die Idee der Polynominterpolation durch Lagrange-Polynome erläutern.
Wir wollen eine Funktion f durch ein Interpolationspolynom 2-ten Grades, also durch eine Parabel, interpolieren. Dazu müssen drei Punkte, die auf dem Graphen von f liegen, bekannt sein:
Unser noch zu bestimmendes Interpolationspolynom p habe die Form
Die Funktion f durch das Polynom p zu interpolieren, bedeutet - anschaulich gesprochen - das Polynom p so zu bestimmen, dass es die obigen drei Punkte von f enthält. Um also die unbekannten Koeffizienten der Parabel zu ermitteln, muss demnach das folgende lineare Gleichungssystem gelöst werden:
oder ausformuliert:
Das mag zwar kein prinzipielles Problem darstellen, aber spätestens ab n=3 kommmt da wenig Freude auf, wenn man die Lösungen zu Fuß ausrechnen soll.
Viel schneller und eleganter geht es mit der Technik der Lagrange-Polynome: Wir konstruieren drei Lagrange-Polynome mit folgenden Eigenschaften:
Diese zu konstruieren, geht ganz einfach:
Wer scharf hinguckt, sieht sofort, dass unsere drei Lagrange-Polynome tatsächlich die erwünschten Eigenschaften besitzen.
Und jetzt kommt der eigentliche Knüller:
Unsere gesuchte Parabel p ist nichts weiter als die folgende Summe:
Denn:
Wir haben nun also die Funktion f durch das Interpolationspolynom p 2-ten Grades interpoliert. Für n>2 funktioniert das Verfahren analog.
Newton-Basis
Die so genannte Newton-Basis hat sich hier bewährt:
Das Interpolationspolynom wird gegeben durch
Die unbekannten Koeffizienten können hier mittels des Neville-Aitken-Schemas (auch „Aitken-Neville-Schema“ oder „Schema der dividierten Differenzen“ genannt) effizient und stabil berechnet werden.
Wenn das Feld x die Stützstellen x(1)...x(n) und das Feld y die Stützwerte y(1) bis y(n) enthält, dann liefert der folgende BASIC-Algorithmus die Koeffizienten . Die Programmsequenz verändert dazu das Feld y derart, dass der Koeffizient in y(1) steht, in y(2) bis in y(n).
For i = 1 To n For j = n To i + 1 Step -1 y(j) = (y(j) - y(j-1)) / (x(j) - x(j-i)) Next j Next i
Das folgende Programm liefert, ausgehend von den oben berechneten Koeffizienten und Stützstellen, den Wert der Interpolationsfunktion an der Stelle x_Wert.
y_Wert = 0 For i = n To 1 Step -1 y_Wert = y_Wert * (x_Wert - x(i)) + y(i) Next i
Ferner ist die Auswertung eines Polynoms in Newton-Darstellung mittels des Horner-Schemas in linearem Zeitaufwand möglich.
Lagrange-Basis
Eher für theoretische Betrachtungen günstig ist eine Darstellung in der Lagrange-Basis. Hier nennt man die Basisfunktionen Lagrange-Polynome:
Die Lösung des Interpolationsproblems lässt sich dann einfach angeben als
Der große Vorteil der Newton-Basis ist, dass sich dort neue Punkte sehr leicht einfügen lassen, indem man einfach am Ende noch einen Term anhängt. Bei der Lagrange-Basis muss man alle Basisfunktionen komplett neu berechnen.
Probleme
Polynome haben den Nachteil, dass sie viele Extrema haben und deswegen bei hohem Polynomgrad recht stark schwingen, weswegen es manchmal vorteilhaft ist, das Interpolationspolynom aus Teil-Polynomen zusammenzusetzen (siehe Runges Phänomen und Spline-Interpolation).
Anwendungen
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.
Weblinks
- Seite zu Newton, Lagrange und Cubic Spline mit Java Applet