Interpolation (Mathematik)

In der numerischen Mathematik bezeichnet der Begriff Interpolation (aus lateinisch inter = dazwischen und polire = glätten, schleifen) eine Klasse von Problemen und Verfahren. Zu gegebenen diskreten Daten (z.B. Messwerten) soll eine stetige Funktion (die sogenannte Interpolante oder Interpolierende) gefunden werden, die diese Daten abbildet. Man sagt dann, die Funktion interpoliert die Daten.

Einführung

Zu interpolierende Punkte

Manchmal sind von einer Funktion nur einzelne Punkte bekannt, aber keine analytische Beschreibung der Funktion, durch die sie an beliebigen Stellen ausgewertet werden könnte. Ein Beispiel sind Punkte als Resultat einer physikalischen Messung. Könnte man die Punkte durch eine (eventuell glatte) Kurve verbinden, so wäre es möglich, die unbekannte Funktion an den dazwischenliegenden Stellen zu schätzen. In anderen Fällen soll eine schwierig handhabbare Funktion näherungsweise durch eine einfachere dargestellt werden. Eine Interpolationsfunktion kann diese Anforderung der Einfachheit erfüllen. Diese Aufgabe bezeichnet man als Interpolationsproblem. Es gibt für das Problem mehrere Lösungen, der Anwender muss zunächst geeignete Ansatzfunktionen wählen. Je nach Ansatzfunktionen erhalten wir eine andere Interpolante.

Die Interpolation ist eine Art der Approximation: Die betrachtete Funktion wird durch die Interpolationsfunktion in den Stützstellen exakt wiedergegeben und in den restlichen Punkten immerhin näherungsweise. Die Approximationsgüte hängt vom Ansatz ab. Um sie zu schätzen, werden Zusatzinformationen über die Funktion f benötigt. Diese ergeben sich auch bei Unkenntnis von f meist in natürlicher Weise: Beschränktheit, Stetigkeit oder Differenzierbarkeit lassen sich häufig voraussetzen.

Bei anderen Approximationsverfahren wie der Ausgleichungsrechnung wird nicht gefordert, dass die Messdaten exakt wiedergegeben werden. Dadurch unterscheiden sich diese Verfahren von der Interpolation. Bei dem verwandten Problem der Extrapolation werden Werte geschätzt, die über den Definitionsbereich der Daten hinausgehen.

Interpolationsprobleme

Das allgemeine Interpolationsproblem

Gegeben seien n+1 Paare von reellen oder komplexen Zahlen (x_i,\,f_i). Hierbei bezeichnet man analog zum Rechnen mit Funktionen die x_{i} als Stützstellen, die f_{i} als Stützwerte und die (x_{i},f_{i}) Paare als Stützpunkte. Man wählt nun eine Ansatzfunktion \Phi (x,\,a_{0},\ldots ,a_{n}), die sowohl von x als auch von n+1 weiteren Parametern a_{j} abhängt. Als Interpolationsproblem bezeichnet man die Aufgabe, die a_{j} so zu wählen, dass \Phi (x_{i},\,a_{0},\ldots ,a_{n})=f_{i} ist.

Das lineare Interpolationsproblem

Man spricht von einem linearen Interpolationsproblem, wenn \Phi nur linear von den a_{j} abhängt, d.h.

\Phi (x,\,a_{0},\ldots ,a_{n})=a_{0}+a_{1}\Phi _{1}(x)+a_{2}\Phi _{2}(x)+\cdots +a_{n}\Phi _{n}(x).

Insbesondere die Polynominterpolation ist ein solches lineares Interpolationsproblem. Für die Polynominterpolation gilt

\Phi (x,\,a_{0},\ldots ,a_{n})=a_{0}+a_{1}x+a_{2}x^{2}+a_{3}x^{3}+\cdots +a_{n}x^{n}.

Spezialfälle für n=1, n=2 und n=3 nennt man lineare, quadratische und kubische Interpolation. In zwei Dimensionen spricht man entsprechend von bilinear, biquadratisch und bikubisch.

Des Weiteren ist die trigonometrische Interpolation eine lineare Interpolation:

\Phi (x,\,a_{0},\ldots ,a_{n})=a_{0}+a_{1}e^{{xi}}+a_{2}e^{{2xi}}+\cdots +a_{n}e^{{nxi}},\quad (i^{2}=-1)

Nichtlineare Interpolationsprobleme

Zu den wichtigsten nichtlinearen Interpolationsproblemen zählt

Interpolationsverfahren

Lineare Interpolation

Stückweise durchgeführte lineare Interpolation

Die von Isaac Newton begründete lineare Interpolation ist am einfachsten und wird wohl in der Praxis am häufigsten benutzt. Hier werden zwei gegebene Datenpunkte (x_{0},f_{0}) und (x_{1},f_{1}) durch eine Strecke verbunden. Es gilt:

f(x)=f_{0}+{\frac  {f_{1}-f_{0}}{x_{1}-x_{0}}}\,(x-x_{0})=f_{0}{\frac  {x_{1}-x}{x_{1}-x_{0}}}+f_{1}{\frac  {x-x_{0}}{x_{1}-x_{0}}}\,.

Dies entspricht einer Konvexkombination der Endpunkte (x_{0},\,f_{0}) und (x_{1},\,f_{1}).

Detaillierte Erläuterungen siehe Allgemeine lineare Interpolation.

Höhergradige Polynome

Interpolationspolynom 7. Grades

Zu n+1 paarweise verschiedenen Datenpunkten gibt es genau ein Interpolationspolynom n-ten Grades, das an den vorgegebenen Stützstellen mit den vorgegebenen Stützwerten übereinstimmt. Die Bestimmung der Koeffizienten erfordert die Lösung eines linearen Gleichungssystems. Die Existenz eines solchen Interpolationspolynoms sieht man z.B. mit Hilfe der Formel von Lagrange

p(x)=\sum _{{i=0}}^{{n}}\,f_{i}\prod _{{k=0,k\neq i}}^{n}{\frac  {x-x_{k}}{x_{i}-x_{k}}}.

Die Eindeutigkeit folgt aus der bekannten Tatsache, dass ein Polynom n-ten Grades höchstens n Nullstellen besitzt.

Weitere Verfahren zur Polynominterpolation siehe dort.

Stückweise Interpolation
Kubische Spline-Interpolation

Da Polynome mit zunehmendem Grad immer instabiler werden, d.h. stark zwischen den Interpolationspunkten schwingen, werden in der Praxis Polynome mit einem Grad größer als 5 kaum eingesetzt. Stattdessen interpoliert man einen großen Datensatz stückweise. Im Fall der linearen Interpolation wäre das ein Polygonzug, bei Polynomen vom Grad 2 oder 3 spricht man üblicherweise von Spline-Interpolation. Bei abschnittsweise definierten Interpolanten ist die Frage der Stetigkeit und Differenzierbarkeit an den Stützstellen von großer Bedeutung.

Hermiteinterpolation

Sind zusätzlich zu den Stützstellen x_{i} auch noch die k-Ableitungen f^{{(k)}}(x_{i})=f_{i}^{{(k)}} zu interpolieren, so spricht man von einem Hermite-Interpolationsproblem. Die Lösung dieses Problems lässt sich analog zum Lagrange-Verfahren ebenfalls in geschlossener Form angeben.

Trigonometrische Interpolation

Wählt man als Ansatzfunktion ein trigonometrisches Polynom, so erhält man eine trigonometrische Interpolation. Die Interpolationsformel

g(x)={\frac  {1}{2}}a_{0}+\sum _{{k=1}}^{{N-1}}(a_{k}\cos kx+b_{k}\sin kx)+{\frac  {1}{2}}a_{N}\cos Nx\,,\quad N=n/2

entspricht einer Fourier-Entwicklung der unbekannten Interpolanten. Die Fourier-Koeffizienten a_{k} und b_k berechnen sich zu

a_{k}\approx {\frac  {2}{n}}\sum _{{i=1}}^{n}f(x_{i})\cos kx_{i} und b_{k}\approx {\frac  {2}{n}}\sum _{{i=1}}^{n}f(x_{i})\sin kx_{i}.

Dabei wird angenommen, dass die Stützstellen x_{i} im Intervall [0;\,2\pi ] äquidistant verteilt sowie außerhalb dieses Intervalls periodisch sind. Die Koeffizienten können effizient mit Hilfe der schnellen Fourier-Transformation berechnet werden.

Logarithmische Interpolation

Vermutet bzw. weiß man, dass den Daten eine logarithmische Funktion zugrunde liegt, so empfiehlt sich dieses Verfahren.

Bei der logarithmischen Interpolation werden zwei bekannte Datenpunkte f_{0}(x_{0}) und f_{1}(x_{1}) durch eine logarithmische Kurve verbunden. Es gilt:

{\frac  {\ln f-\ln f_{0}}{\ln f_{1}-\ln f_{0}}}={\frac  {x-x_{0}}{x_{1}-x_{0}}}

Oder anders formuliert:

{\displaystyle f(x)=f_{0}\cdot \exp \left({\frac {(x-x_{0})(\ln f_{1}-\ln f_{0})}{x_{1}-x_{0}}}\right)}

Beispiel: χ²-Test

Allgemeine lineare Interpolation

Es sei H(x) eine reelle oder komplexe stetig differenzierbare Funktion mit Nullstellenmenge \{x_{k}:k\,{\mathrm  {aus}}\,I\}, wobei alle Nullstellen einfach sein müssen. Dabei kann die Indexmenge I eine endliche Menge, wie z.B. I=\{1,\dots ,N\}, oder eine abzählbare Menge, wie I={\mathbb  {N}} oder I={\mathbb  {Z}}, sein. Damit sind die Interpolationskerne gegeben als

L_{k}(x):={\frac  {H(x)}{H'(x_{k})(x-x_{k})}}={\frac  {G(x,x_{k})}{G(x_{k},x_{k})}} bei x\neq x_{k}

und stetig mit dem Wert 1 an der Stelle x=x_{k} fortgesetzt. Die Hilfsfunktion G(x,y) ist außerhalb der Diagonalen x=y definiert als

G(x,y):={\frac  {H(x)-H(y)}{x-y}} und stetig fortgesetzt zu G(x,x):=H'(x).

Auf den Nullstellen gilt L_{k}(x_{j})=\delta _{{k,j}}, wobei das Kronecker-Delta verwendet wurde.

Sind jetzt Werte f_{k} für jedes k\in I vorgegeben, so ist eine Interpolationsfunktion definiert durch

F(x):=\sum _{{k\in I}}f_{k}\cdot L_{k}(x)=\sum _{{k\in I}}{\frac  {G(x,x_{k})}{G(x_{k},x_{k})}}f_{k}.

Im Falle einer abzählbaren Nullstellenmenge muss die Konvergenzbedingung

\sum _{{k\in I}}\left|{\frac  {f_{k}}{H'(x_{k})(1+|x_{k}|)}}\right|<\infty

erfüllt sein.

Beispiele

L_{k}(x)={\frac  {h(x-x_{k})}{h'(0)(x-x_{k})}}\cdot \prod _{{j\neq k}}{\frac  {h(x-x_{j})}{h(x_{k}-x_{j})}}.
Das aus h(x)=x resultierende Interpolationsverfahren ist die Lagrange-Interpolation. Andere Beispiele sind h(x)=x/(1+x^{2}) für nach Unendlich gegen Null fallende Interpolationsfunktionen oder h(x)=\sin(x) für eine beschränkte Interpolationsfunktion mit übersichtlicher Berechnungsformel.
F(x)=\sum _{{n=0}}^{{N-1}}x^{n}\cdot {\frac  1N}\sum _{{k=1}}^{N}f_{k}{\bar  x}_{k}^{n} ist.
F(x)=\sum _{{k\in {\mathbb  Z}}}f_{k}{\frac  {\sin(\pi x)}{(-1)^{+}k\pi (x-k)}}=\sum _{{k\in {\mathbb  Z}}}f_{k}{\frac  {\sin(\pi (x-k))}{\pi (x-k)}}.

Diese spielt eine zentrale Rolle im Nyquist-Shannon-Abtasttheorem. Die Konvergenzbedingung lautet

\sum _{{k\in {\mathbb  Z}}}\left|{\frac  {f_{k}}{1+|k|}}\right|<\infty .

Stützstellendarstellung von Polynomen

Sei p(x)=a_{0}+a_{1}x+a_{2}x^{2}+\dotsb +a_{{n-1}}x^{{n-1}} ein Polynom. Dieses Polynom lässt sich in der sogenannten Koeffizientendarstellung durch die Angabe des Vektors (a_{0},\dotsc ,a_{{n-1}}) darstellen. Eine alternative Darstellung, die ohne die Koeffizienten a_{0},\dotsc ,a_{{n-1}} auskommt, besteht in der Stützstellendarstellung. Dabei wird das Polynom für n Werte x_{i} mit 0\leq i\leq n-1 und i\in \mathbb{N} ausgewertet, d.h. es werden die Funktionswerte p(x_{i})=y_{i} berechnet. Das Paar von Vektoren ((x_{0},\dotsc ,x_{{n-1}}),(y_{0},\dotsc ,y_{{n-1}})) bezeichnet man als die Stützstellendarstellung des Polynoms p. Ein wesentlicher Vorteil dieser Darstellung besteht darin, dass zwei Polynome in Stützstellendarstellung in \Theta (n) (s. Landau-Symbole) Schritten multipliziert werden können. In Koeffizientendarstellung werden hingegen \Theta (n^{2}) Schritte benötigt. Die Transformation von der Koeffizienten- in die Stützstellendarstellung ist daher von spezieller Bedeutung und wird als Fourier-Transformation bezeichnet. Die Rücktransformation wird durch Interpolation erreicht.

Anwendungen

Interpolation bei der Skalierung eines Bildes

In vielen Anwendungen von Interpolationsverfahren wird behauptet, dass durch Interpolation neue Information aus bestehenden Daten hinzugewonnen werden. Dies ist aber falsch. Durch Interpolation kann nur der Verlauf einer kontinuierlichen Funktion zwischen bekannten Abtastpunkten abgeschätzt werden. Diese Abschätzung basiert meist auf der Annahme, dass der Verlauf einigermaßen „glatt“ ist, was in den meisten Fällen zu plausiblen Resultaten führt. Die Annahme muss aber nicht notwendigerweise zutreffen. Höhere Frequenzanteile, die bei der Digitalisierung eines Signals aufgrund des Abtasttheorems verloren gegangen sind, können auch durch anschließende Interpolation nicht wieder rekonstruiert werden.

Eine bekannte Anwendung der Interpolation ist die digitale Signalverarbeitung. Bei der Umwandlung eines Signals von einer niedrigen Abtastrate in eine hohe (Abtastratenkonvertierung) werden die Abtastwerte des Ausgabesignals aus denen des Eingabesignals interpoliert. Ein Spezialfall ist die Skalierung von Bildern in der Computergrafik.

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 02.11. 2021