Roland Pichler, HTBLA Kapfenberg
 

Interpolation

Mathematische Inhalte:

Funktionen, lineare Gleichungssysteme, Differentialrechnung

Anwendung:

Auswertung von Messungen, numerische Methoden in der Analysis. Berechnung von Werten zwischen gemessenen Argumenten (Interpolation), wobei eine Reihe von Meßpunkten mit voneinander verschiedenen Stützstellen zugrundegelegt wird.

Kurzzusammenfassung:

In diesem Beitrag wird ein Bogen von der linearen Interpolation bis zur Splineinterpolation gespannt, wobei die zugrundeliegenden Prinzipien besprochen werden und Hinweise auf die Einsetzbarkeit im Unterricht gegeben werden

Lehrplanbezug:

1. Jahrgang, 3. Jahrgang, 4. Jahrgang

Zeitaufwand:

Je nach Tiefe des Eindringens in das Thema, mindestens aber 4 Stunden

Mediales Umfeld:

PC,

Datei zum Herunterladen: Splineint.mcd

Anmerkungen:

Durch den verstärkten Einsatz computerunterstützte Methoden im MAM Unterricht, ist es notwendig, daß man die Prinzipien, die hinter numerischen Verfahren stehen, den Schülern wenigstens in Grundzügen vorstellt. Durch den Rechnereinsatz ist es möglich, diese Verfahren auch entsprechend aufzubereiten.

Grundidee

Eine reelle Funktion f(x) die als hinreichend oft differenzierbar vorausgesetzt wird, ist häufig nur an vorgegebenen Argumentstellen

x0 < x1 < x2 < ... xn ,

den sogenannten Stützstellen bekannt. Die Stützwerte y0 = f(x0), y1 = f(x1), ... yn = f(xn) erhält man möglicherweise durch Messungen oder Berechnungen; an den Zwischenstellen ist der Wert von f)x) hingegen nicht bekannt. Die Interpolationsaufgabe besteht nun darin, daß man eine Funktion p(x) aus einer gegebenen Funktionsklasse bestimmt, die für x Î [x0, xn]definiert ist und die der Interpolationsanforderung

 

Bild 1.1

Kennt man eine entsprechende Interpolationsfunktion p(x), so kann man für alle x Î [x0, xn] den unbekannten Wert f(x) aus p(x) approximieren.

Ausführung

Um den Rahmen dieses Beitrages nicht zu sprengen werden folgende Interpolationsmöglichkeiten aufgezeigt.

 1. Lineare Interpolation

Im 1. Jahrgang sind Funktionen im Lehrplan vorgesehen. Dabei bietet sich an, daß man dabei auch die lineare Interpolation bespricht, zumal diese sehr oft bei Tabellenauswertungen ihre Anwendung findet.

Der Grundgedanke ist, daß man den Funktionsgraph zwischen zwei Stützstellen durch eine lineare Funktion ersetzt und die Zwischenwerte dadurch approximiert

Es gelten folgende Bezeichnungen:

D = y2 - y1 . . . Tafeldifferenz

H = x2 - x1 . . . Schrittweite

d = y - y1 . . . Rechendifferenz

h = x - x1 . . . Argumentzuwachs

 

Bild 1.2

Aus der Skizze entnimmt man, daß gilt. So erhält man die Interpolationsformel für die y-Koordinate an einer Stelle x: y = y1 + d

Folgendes Beispiel soll die Überlegung verdeutlichen:

 

Beispiel 1. 1:

 

Mit Hilfe der linearen Interpolation soll näherungsweise der Funktionswert der kubischen Funktion an der Stelle x = 1.7 bestimmt werden, wobei die Stützstellen x1 = 1 und x2 = 2 verwendet werden sollen.

Man erhält nun den Zwischenwert

Vergleicht man den genauen Wert () an der Stelle 1.7, mit dem approximierten Wert (), so sieht man, daß der Interpolationsfehler relativ groß ist.

2. Polynominterpolation

Im ersten Jahrgang (falls noch Zeit bleibt) oder aber besonders im 3. Jahrgang kann man die Problematik der Polynominterpolation ansprechen. Deren Ausführung ist aber ohne Rechnerunterstützung nicht sehr sinnvoll, da der Rechenaufwand für mehrere Stützpunkte (n > 3) schon sehr groß wird. Es liegt dabei folgende Problematik zugrunde.

 Gesucht ist eine ganzrationale Funktion p höchstens n-ten Grades

,

welche mit einer Funktion f in den n + 1 gegebenen Wertepaaren (x0 ; y0), ... , (xn ; yn) übereinstimmt:

Von zentraler Bedeutung für die Bestimmung der Näherungspolynome ist nun folgender Satz:

Das Problem bei dieser Aufgabe ist nun die Bestimmung der ai. Dabei gibt es mehrere Ansätze zu deren Berechnung. Der für den Schüler auf den ersten Blick einfachste Fall ergibt aus der Berechnung durch ein lineares Gleichungssystem (deshalb, da er mit linearen Gleichungssystemen bereits vertraut ist).

 4. Bestimmung durch lineare Gleichungssysteme:

Diese Methode erlaubt die Bestimmung der ai mit Hilfe von linearen Gleichungssystemen. Die praktische Anwendung dieser Methode ist aber bei einer großen Anzahl von Stützpunkte nicht sehr handlich. das folgende Beispiel soll die Problematik zeigen:

Fünf Stützpunkte P0(- 3; - 5), P1(- 1; 1), P2(3; - 1), P3(- 2; 3) und P4(1.5; - 1) sind gegeben. Das Interpolationspolynom vom Grade 4 ist zu bestimmen und graphisch darzustellen.

Die Vorgabe der fünf Stützpunkte führt auf ein lineares Gleichungssystem mit den fünf Unbekannten

a0 , a1 , a2 , a3 und a4 , welches man etwa so anschreiben kann:

Die Lösung dieses Gleichungssystems sind die Koeffizienten des Interpolationspolynoms

Durch Rechnerunterstützung erhält man:

Die Berechnung kann mit Hilfe jedes ComputreAlgebraSystems (CAS) durchgeführt werden, genauso wie mit Hilfe von Tabellenkalkulationsprogrammen (z. B. EXCEL).

Als Beispiel soll die Berechnung mit Hilfe des TI-92 gezeigt werden:

Der TI-92 erlaubt es, die Koeffizienten von p(x) für Polynome bis zum Grade 4 mit Hilfe des Daten/Matrix Editors zu berechnen. Dabei wird zwar eine Regression durchgeführt, ist aber die Anzahl der Stützstellen um 1 größer als der Grad von p(x) und sind sie außerdem paarweise verschieden, so ist die Ausgleichskurve identisch mit dem Interpolationspolynom (die Summe der quadratischen Abweichungen ist dann nämlich null). Daher ist es zulässig, diesen Weg zu gehen.

Eingabe in den Daten/Matrix Editor: Darstellung der Datenpunkte:

Ergebnis der Berechnung: Darstellung des Interpolationspolynoms:

2.2. Das Newtonsche Interpolationspolynom:

Ein Nachteil der oben erwähnten Methode liegt darin, daß man das Gleichungssystem neu ansetzen muß, wenn ein Datenpunkt dazukommt. Diesen Mangel umgeht die Methode von Newton.

Nach Newton wird das Polynom schrittweise aufgebaut. Dazu beginnt man mit dem konstanten Polynom p0(x) = k0, das so erklärt wird, daß es das erste Zahlenpaar (- 3; - 5) enthält.

 

Als nächstes wird ein lineares Polynom p1(x) gewählt, das außer dem ersten noch das zweite Zahlenpaar enthält; dafür schreibt man:

 

Dann ist nämlich

Es folgt ein entsprechender Ansatz für ein quadratisches Polynom

 

Der vierte Punkt liefert das kubische Polynom

 

Schließlich erhält man durch den 5. Punkt das gesuchte Interpolationspolynom

Diese Darstellung des Polynoms ist die Newtonsche Form

Die Normalform zeigt, daß die Koeffizienten der beiden Polynome übereinstimmen:

Durch Einsetzen sieht man, daß die Stützpunkte tatsächlich auf dem Graph der Polynomfunktion liegen.

Generell hat das Newtonsche Näherungspolynom nun folgende Gestalt:

wobei die ki rekursiv berechnet werden:

 

Man erkennt die strukturelle Ähnlichkeit im Aufbau bei der Berechnung der Koeffizienten ki des Newtonschen Polynoms. Diese Ähnlichkeit nützt man im Schema der dividierten Differenzen (Steigungsspiegel) zur rekursiven Berechnung der ki. Dieses Verfahren ist in vielen Lehrbüchern beschrieben (siehe Literaturverzeichnis) und kann dort nachgelesen werden.

Der Vorteil der Methode von Newton liegt darin, daß weitere Stützpunkte hinzugefügt werden können, ohne daß man ein Gleichungssystem neu ansetzen muß.

Es gibt noch weitere Ansätze zur Polynominterpolation, so z. B. die Methode nach Lagrange, die aber für die praktische Berechnung etwas umständlich ist, jedoch von Vorteil, wenn man einen geschlossenen Funktionsterm benötigt.

Sind auch noch die ersten Ableitungen an den Stützstellen bekannt, so bietet sich die Methode nach Hermite an.

Genaueres entnehme man der angeführten Literatur.

3. Spline-Interpolation

Am Graph des Interpolationspolynoms bemerkt man, daß zwischen den Stützstellen relativ große Schwankungen auftreten. Diese "Welligkeit" wird um so größer, je mehr Stützstellen vorhanden sind. Durch diese großen Schwankungen sind derartige Polynome zu Weiterbearbeitung ( z. B. numerische Differentiation) nicht geeignet.

Diese Probleme kann man mit Hilfe der Spline - Interpolation vermeiden. Die Spline - Interpolation ermittelt eine Funktion S(x), die zwischen Stützstellen x0 < x1 < x2 < ....... < xn, den sogenannten Splineknoten, möglichst geringe Schwankungen aufweist und trotzdem eine hohe Glattheit besitzt. Das gelingt, indem man die in jedem Teilintervall [xk, xk+1] durch ein Polynom 3. Grades (kubische Splineinterpolation) interpoliert, welches man derart anschreibt:

 

Für x ³ xn setzt man zusätzlich

so daß sich die interpolierende Funktion S(x) aus n + 1 Polynomen Sk(x) mit insgesamt 4n + 3 Koeffizienten zusammensetzt.

Fordert man, daß S(x) die gegebenen Werte yk an den Knoten xk interpoliert, weiters daß S(x), S´(x) und S´´(x) stetige Funktionen sind und S(x) in den Intervallen (- ¥ , x0] und [xn, ¥ ) linear ist, so heißt S(x) natürliche Splinefunktion 3. Grades. Unter diesen Bedingungen erfüllt S(x) die interessante Voraussetzung, daß sie unter allen zweimal stetig differenzierbaren Funktionen, die Punkte (xk, yk) interpolieren, die kleinste Gesamtkrümmung

hat und somit eine besondere Eignung von S´(x) als näherungsweise Ableitung berechtigt ist.

Die 4n + 3 Spline - Koeffizienten ak, bk, ck und dk berechnet man folgendermaßen:

 

Man sieht, daß schon bei wenigen Knoten die Anzahl benötigter Gleichungen sehr groß wird. Die so entstehenden Gleichungssysteme können aber mit Hilfe des Gaussschen Algorithmus gelöst werden.

Neben den kubischen Splines werden auch lineare und quadratische Splines verwendet, wobei die interpolierenden Polynome entweder lineare oder quadratische Funktionen sind.

Anhand von 4 Stützpunkten mit den Knoten x0 = 0, x1 = 1, x2 = 2 und x3 = 3 und den zugehörigen Werten y0 = 0, y1 = 1, y2 = 0 und y3= 1 sollen nun die 4 Splinefunktionen S0(x), S1(x), S2(x) und S4(x) bestimmt werden und dann mit der internen kubischen Splineberechnung, welche Mathcad anbietet, verglichen werden.

Für KollegenInnen, die die Diskette nicht beziehen, ist das Protokoll der Berechnung mit Hilfe von Mathcad, nachfolgend dargestellt. Es ist etwas mühsam sich durch diese Berechnung durchzuarbeiten; es zahlt sich aber in jedem Fall aus, da man dabei sehr schön das Prinzip der Spline - Interpolation erkennen kann

Das Bild 3.1 auf der nächsten Seite zeigt die einzelnen Funktionen S0(x),..., S4(x), die über dem gesamten Intervall [-0.1; 3.1] gezeichnet sind. Man kann speziell bei S1(x) den kubischen Charakter erkennen, sowie den glatten Übergang an den Stützwerten.

Bild 3.2 vergleicht die interne Mathcad Funktion interp(....) mit der selbstdefinierten S(x). Man sieht, daß die beiden identisch sind (bis auf eine Verschiebung um 1, die ich deshalb eingebaut habe, damit man beide Funktionen sieht, die ja sonst zusammenfallen würden).

 

 Zu interp(..) wurde 1 addiert, damit man die Identität der beiden Graphen sieht.

Schlußbemerkung:

Die Interpolationsrechnung kann als Grenzfall der Ausgleichsrechnung (Regressionsanalyse) betrachtet werden. Bei dieser sind n Punkte (xk, yk) gegeben. Gesucht ist nun eine Funktion f(x), die die Punkte (xk, yk) optimal annähert. Dabei müssen diese Punkte, im Gegensatz zur Interpolation, nicht auf der Ausgleichskurve liegen.

Die Regressionsanalyse wird häufig bei physikalisch - technische Aufgaben verwendet, um den Typ der zugrundeliegenden Funktion einer Meßreihe zu erkennen.

 Literaturhinweise:

Autorengemeinschaft: Mathematik V; Fachbuchverlag Leipzig - Köln, 1992

Schwetlick/Kretzschmar: Numerische Verfahren für Ingenieure und Naturwissenschaftler, Fachbuchverlag Leipzig, 1991

Ernst Kausen: Numerische Mathematik mit Turbo Pascal, Hüthig Verlag, 1989

Timischl, Kaiser: Ingenieur - Mathematik 1, Dorner Verlag, 1997

Handbuch zu Mathcad

Bronstein, Semendjajew: Taschenbuch der Mathematik, 25. Auflage 1991