Interpolation durch vorgegebene Punkte

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
Kurzinfo
GadApedia.jpg
Diese Seite gehört zur GadApedia.

Inhaltsverzeichnis

Interpolation

Der Grundgedanke der Interpolation ist: Man hat z.B. drei Datenpunkte und möchte, dass eine möglichst einfache Funktion y=f(x) alle drei Punkte gleichzeitig beschreibt, d.h. der Funktionsgraph soll durch diese drei Punkte verlaufen.

DreipunkteABCneu.JPG

Da der Punkt A die Koordinaten (x=1|y=2) hat, möchte man, dass y=f(1)=2 ist. Es muss entsprechend für die Punkte B und C im Beispiel gelten: f(2)=0.5, f(4)=5, weil ja B(2|0.5) und C(4|5) ist. Das sind also drei Gleichungen, eine für A, eine für B und eine für C.

Normalerweise lösen Lehrer und Schüler jetzt das Gleichungssystem, das sich für eine Parabel y=a x²+ b x +c ergibt, denn in der Parabel gibt es die drei Unbekannten a b c, und drei Gleichungen mit drei Unbekannten kann man normalerweise gut lösen, d.h. sie würden lösen: 2=a 1²+b 1+c, 0.5=a 2²+b 2+c, 5=a 4²+b 4+c. Tatsächlich ergibt die Lösung eine Parabel, und wie man sieht, verläuft sie auch ganz genau durch die drei vorgegebenen Datenpunkte:

ABCmitParabel.JPG

Das ist ja noch gut schriftlich berechenbar, aber wer möchte bei 10 oder mehr Datenpunkten 10 Gleichungen mit 10 Unbekannten lösen? Deshalb hat Lagrange sich etwas enfallen lassen, das die Datenpunkte systematisch in eine Interpolationsfunktion umwandelt, ohne dass man überhaupt ein einziges Gleichungssystem dafür lösen müsste!

Ich mag den Ansatz von Lagrange sehr gerne, denn er baut auf Operatoren auf, und ich bin der Meinung, dass man mit Operatoren am besten Mathematik lernen und verstehen kann.

Drei Funktionen für drei Punkte

Das erste, was er sich ausgedacht hat, ist, dass man das Problem aufspaltet in Teile, die man dann jeweils einfach lösen kann. Wenn man diese dann gelöst hat, setzt man die Teile wieder zu einem Ganzen zusammen. Ich nenne diese Idee I1. Das ist das Prinzip der Analyse.

Anstatt also eine einzige Funktion für alle drei Punkte zu suchen, suchen wir nun drei Funktionen, die jeweils einen einzigen Punkt beschreiben. Man sieht schon: Wenn dieses Prinzip für drei Punkte gelingt, dann ist es nicht schwer, es auf 4 Punkte, 5 Punkte oder beliebig viele Punkte zu übertragen!

Beginnen wir mit dem Punkt A(x=1|y=2). Steckt man in die Funktion den Wert 1, soll 2 herauskommen. Aber: damit die anderen Punkte nicht stören, soll bei den x-Werten der anderen Punkte immer 0 herauskommen!

OperatorenfuerA.JPG

Wie kann man das bewerkstelligen? Ein Produkt ist 0, wenn einer der Faktoren 0 ist. Also bauen wir alles aus Faktoren auf, die an den x-Werten der Punkte entweder 0 oder 1 sind. Für den Punkt A bedeutet das, man braucht (x-2)*(x-4), damit an den Stellen 2 (für B) und 4(für C) 0 herauskommt, denn für x=2 gibt das ja (2-2)*(2-4)=0, weil der erste Faktor 0 ist, und für x=4 gibt es analog auch (4-2)*(4-4)=0. Gut, aber das gibt nicht 1, wenn man den x-wert von A, also 1 hineinsteckt! (1-2)*(1-4) ist ja nicht 1. Aber wir können daraus 1 machen, indem wir durch (1-2)*(1-4) teilen: \frac{(1-2)\cdot (1-4)}{(1-2)\cdot (1-4)}=1. Also liefert uns die Funktion

L1(x)=\frac{(x-2)\cdot (x-4)}{(1-2)\cdot (1-4)}

genau die Eigenschaft, die wir haben wollen: sie ist 0 an den x-Werten von B und C, aber 1 am x-Wert von A. Jetzt fehlt für den Punkt A nur noch ein kleines Detail: Nicht 1, sondern 2 soll ja der y-Wert am Punkt A sein. Also einfach L1(x) mit 2 malnehmen. Damit ist der Punkt A schon mal beschrieben durch:

FunktionsteilA(x)=2\cdot \frac{(x-2)\cdot (x-4)}{(1-2)\cdot (1-4)}

Ganz analog geht es mit den Punkten B und C weiter. Wem die Analogie genügt, kann im Absatz Eine Funktion für alle drei Punkte weiterlesen. Ich habe es aber auch noch einmal explizit aufgeschrieben ( das geht leicht, ich brauchte ja nur kopieren und von A auf B bzw. A auf C verändern ):

Nun der Punkt B(x=2|y=0.5). Steckt man in die Funktion den Wert 2, soll 0.5 herauskommen. Aber: damit die anderen Punkte nicht stören, soll bei den x-Werten der anderen Punkte immer 0 herauskommen!

OperatorenfuerB.JPG

Wie kann man das bewerkstelligen? Ein Produkt ist 0, wenn einer der Faktoren 0 ist. Also bauen wir alles aus Faktoren auf, die an den x-Werten der Punkte entweder 0 oder 1 sind. Für den Punkt B bedeutet das, man braucht (x-1)*(x-4), damit an den Stellen 1 (für A) und 4(für C) 0 herauskommt, denn für x=1 gibt das ja (1-1)*(1-4)=0, weil der erste Faktor 0 ist, und für x=4 gibt es analog auch (4-1)*(4-4)=0. Gut, aber das gibt nicht 1, wenn man den x-wert von A, also 1 hineinsteckt! (2-1)*(2-4) ist ja nicht 1. Aber wir können daraus 1 machen, indem wir durch (2-1)*(2-4) teilen: \frac{(2-1)\cdot (2-4)}{(2-1)\cdot (2-4)}=1. Also liefert uns die Funktion

L2(x)=\frac{(x-1)\cdot (x-4)}{(2-1)\cdot (2-4)}

genau die Eigenschaft, die wir haben wollen: sie ist 0 an den x-Werten von A und C, aber 1 am x-Wert von B. Jetzt fehlt für den Punkt B nur noch ein kleines Detail: Nicht 1, sondern 0.5 soll ja der y-Wert am Punkt B sein. Also einfach L2(x) mit 0.5 malnehmen. Damit ist der Punkt B beschrieben durch:

FunktionsteilB(x)=0.5\cdot \frac{(x-1)\cdot (x-4)}{(2-1)\cdot (2-4)}

Nun der Punkt C(x=4|y=5). Steckt man in die Funktion den Wert 4, soll 5 herauskommen. Aber: damit die anderen Punkte nicht stören, soll bei den x-Werten der anderen Punkte immer 0 herauskommen!

OperatorenfuerC.JPG

Wie kann man das bewerkstelligen? Ein Produkt ist 0, wenn einer der Faktoren 0 ist. Also bauen wir alles aus Faktoren auf, die an den x-Werten der Punkte entweder 0 oder 1 sind. Für den Punkt C bedeutet das, man braucht (x-1)*(x-2), damit an den Stellen 1 (für A) und 2(für B) 0 herauskommt, denn für x=1 gibt das ja (1-1)*(1-2)=0, weil der erste Faktor 0 ist, und für x=2 gibt es analog auch (2-1)*(2-2)=0. Gut, aber das gibt nicht 1, wenn man den x-wert von C, also 4 hineinsteckt! (4-1)*(4-2) ist ja nicht 1. Aber wir können daraus 1 machen, indem wir durch (4-1)*(4-2) teilen: \frac{(4-1)\cdot (4-2)}{(4-1)\cdot (4-2)}=1. Also liefert uns die Funktion

L3(x)=\frac{(x-1)\cdot (x-2)}{(4-1)\cdot (4-2)}

genau die Eigenschaft, die wir haben wollen: sie ist 0 an den x-Werten von A und B, aber 1 am x-Wert von C. Jetzt fehlt für den Punkt C nur noch ein kleines Detail: Nicht 1, sondern 5 soll ja der y-Wert am Punkt C sein. Also einfach L3(x) mit 5 malnehmen. Damit auch der Punkt A schon beschrieben:

FunktionsteilC(x)=5\cdot \frac{(x-1)\cdot (x-2)}{(4-1)\cdot (4-2)}

Eine Funktion für alle drei Punkte

Jetzt können wir der Idee I1 folgend ( s.o. ) wieder alles zusammenbauen, was wir vorher voneinander getrennt haben: Wir brauchen nur die einzelnen Funktionsteile zu A, B und C addieren, denn sie liefern jeweils den richtigen Wert an der Stelle der Punkte A, B und C und 0 an den anderen Stellen, stören also dort nicht die Aussage der anderen Funktionen. Also ist die Funktion, die sowohl A, als auch B, als auch C richtig beschreibt, gegeben durch

Fehler beim Parsen(Unbekannte Funktion „\begin“): \begin{eqnarray} FunktionABC(x) & = & FunktionsteilA(x)& + &FunktionsteilB(x)& + &FunktionsteilC(x)\\ & = &2\cdot \frac{(x-2)\cdot (x-4)}{(1-2)\cdot (1-4)}\mbox{\qquad \qquad \qquad \qquad \qquad} & + & 0.5\cdot \frac{(x-1)\cdot (x-4)}{(2-1)\cdot (2-4)}\mbox{\qquad \qquad \qquad \qquad}& + &5\cdot \frac{(x-1)\cdot (x-2)}{(4-1)\cdot (4-2)}\mbox{\qquad \qquad \qquad \qquad} \end{eqnarray}


Das sieht auf den ersten Blick kompliziert aus, aber man muss bedenken, dass wir an keiner Stelle irgendwelche Gleichungsumformungen vornehmen mussten oder Gleichungssysteme lösen mussten. Daher ist die Lösung von Lagrange für die Interpolation von drei Punkten durch eine Parabel in meinen Augen eleganter als alle anderen, sie ist "straightforward", wie man im Englischen sagt, und sie unterstüzt den Operator-Gedanken in der Mathematik, der in der Didaktik der Mathematik und der Naturwissenschaften eine herausragende Stelle einnehmen sollte.

Polynom durch drei vorgegebene Punkte (GeoGebra)

Ich habe ein GeoGebra-Programm zur automatischen Erstellung einer Parabel durch drei vorgegebene Punkte erstellt, es sollte hier sichtbar werden, wenn JAVA korrekt installiert ist:

Hier kann man die Punkte mit der Maus verschieben und sieht, wie sich die Parabel anpasst.

Das vollständige GeoGebra-Programm kann man sich mit Rechtsklick, dann "Ziel_speichern_unter" von hier herunterladen:


http://wiki.zum.de/images/e/ea/Interpolation_Lagrange_3Punkte_mit_Werkzeug.ggb


Diese Datei ist frei, denn GeoGebra ist frei und ich habe die GeoGebra-Datei erstellt. Es ist sogar das Werkzeug enthalten, das erlaubt, andere Parabeln mit neuen Punkten zu erstellen. Analoges gilt für die folgenden Programme für vier bzw. fünf vorgegebene Punkte: Auch dort habe ich ein Werkzeug hinzugefügt, das in der heruntergeladenen Version ersichtlich und benutzbar ist. Die Werkzeuge habe ich auch auf GeoGebra-Tube hochgeladen, man kann sie dort unter dem Tag ( erweiterte Suchoption: Englisch (UK) ) "paedfo" finden.

Polynom durch vier vorgegebene Punkte (GeoGebra)

Hier kann man die Punkte mit der Maus verschieben und sieht, wie sich die Parabel anpasst.

Das vollständige GeoGebra-Programm kann man sich mit Rechtsklick, dann "Ziel_speichern_unter" von hier herunterladen:


http://wiki.zum.de/images/e/ea/Interpolation_Lagrange_4Punkte_mit_Werkzeug.ggb


Polynom durch fünf vorgegebene Punkte (GeoGebra)

Hier kann man die Punkte mit der Maus verschieben und sieht, wie sich die Parabel anpasst.

Das vollständige GeoGebra-Programm kann man sich mit Rechtsklick, dann "Ziel_speichern_unter" von hier herunterladen:


http://wiki.zum.de/images/e/ea/Interpolation_Lagrange_5Punkte_mit_Werkzeug.ggb


Warum möchte man überhaupt interpolieren?

Wenn man die Funktion nur schwer berechnen kann, und auch ein Computer dafür eine Sekunde braucht, man aber 10 Berechnungen pro Sekunde benötit, nähert man die Funktion einfach durch die Interpolationsfunktion an, und die kann der Computer 1000000 mal pro Sekunde berechnen.

Wenn man die Nullstellen einer Funktion nicht berechnen kann, so nähert man die Funktion durch eine Parabel, wobei zwei der drei Punkte einmal oberhalb und einmal unterhalb der x-Achse sein müssen. Die Nullstellen der Parabel sind dann leicht zu berechnen, und eine der Nullstellen ist eine sehr gute Näherung für die gesuchte Nullstelle der ursprünglichen Funktion.

Wenn man den Flächeninhalt unterhalb einer Funktion ermitteln will, die Funktion sich aber nicht analytisch integrieren lässt, so nähert man die Funktion durch viele Parabelstückchen, die sich dann doch ganz leicht integrieren lassen.