|
Spline-Interpolation |
|
- Hier haben wir ein Demonstrationsprogramm für die
Approximation einer gegebenen Funktion f
durch eine kubische zweimal stetig differenzierbare Splinefunktion,
also eine stückweise definierte Funktion. Während die
gewöhnliche Polynominterpolation nur auf kleinen Intervallen
brauchbare Ergebnisse liefert, spielt die Intervallbreite hier eine
untergeordnete Rolle.
- Zwischen und in den n Stützstellen xi, i=1,...,n,
sind folgende Bedingungen zu erfüllen:
- Si(x) ist Polynom vom Grad kleiner oder gleich 3.
- S(x) = Si(x) im Intervall
[xi,xi+1].
- Si(xi) = f(xi).
- Si(xi+1) = f(xi+1).
- S'i(xi+1) =
S'i+1(xi+1).
- S''i(xi+1) =
S''i+1(xi+1).
- Diese Konstruktion ist immer möglich, aber nicht eindeutig.
Es verbleiben zwei Freiheitsgrade, die u.a. eine Wahl der
Eigenschaften von S am Rand des Gesamtintervalls zulassen. Man
unterscheidet z.B. den natürlichen Spline (S''(a) = S''(b) = 0)
und den hermitischen Spline (S'(a) = f'(a) und S'(b) = f'(b)).
- Der Approximationsfehler beider Konstruktionen ist für
viermal stetig differenzierbares f von der Grössenordnung
h4, wobei h die maximale Teilintervallbreite ist.
Dies gilt für den hermitischen Spline auf dem ganzen Intervall und
für den natürlichen in jedem abgeschlossenen Intervall im
Inneren von [a,b]. Wenn man die Ableitungswerte von f
an den Intervallenden durch die Werte der Ableitungen kubischer
Interpolationspolynome für die ersten bzw. letzten vier Funktionswerte
ersetzt, ändert dies die Güte der Approximation nur unwesentlich.
|
|
|
Die Eingaben |
|
- Sie können zwischen der Eingabe eigener (x,y)-Daten und deren
Erzeugung durch vorgegebene oder eine eigene Funktion wählen.
- Wenn Sie eigene Daten eingeben sind nur die Anzahl der Datenpunkte und
diese selbst einzugeben. Sie können zwischen dem
natürlichen und dem hermitischen Spline wählen.
Im letzteren Fall geben Sie die Randsteigungen explizit vor.
Ausserdem können Sie sich die Splinedarstellung als Text
ausgeben lassen.
- Im anderen Fall geht es um die Erprobung der Approximationseigenschaften
des Splines.
- Bei der Wahl der Bestimmung des Splines am Rand besteht die Wahl zwischen
dem natürlichen Spline und dem hermitischen Spline. Im Falle des
hermitischen Splines muß angegeben werden, ob die Randableitungen exakt
vorliegen oder approximiert werden sollen.
- Für die Wahl der zu interpolierenden Funktion f gibt es
die Möglichkeit zwischen 5 vorgegebenen Funktionen zu wählen, oder
eine eigene Funktion zu definieren. Die Eingabe dieser eigenen Funktion
folgt den Konventionen der Programmiersprache FORTRAN.
- Im Falle eines hermitischen Splines mit exakter Ableitung am Rande und
einer eigenen Funktion ist die Ableitung der Funktion anzugeben. Vorsicht:
diese Formel wird nicht überprüft !
- Die Anzahl der Interpolationstellen n.
Wichtig : 4 <= n <= 200 !
- Das Intervall, in dem die Funktion f interpoliert werden soll,
muß angegeben werden. Die Gitterpunkte werden äquidistant gewählt.
|
|
|
Die Ausgaben |
|
- Haben Sie eigene (x,y)-Daten eingegeben, dann erhalten Sie einen Plot
des Splines, und, wenn angefordert, die Formeldarstellung des Splines
in Textform.
- Im anderen Fall gilt Folgendes:
- Ausgegeben wird die Wahl des Splines, die Anzahl der Stützstellen und
die zu interpolierende Funktion.
- Zwei Grafiken zeigen f(x) und S(x) bzw. den Fehler
f(x)-S(x).
|
|
|
Fragen ?! |
|
- Wie verhält sich der Spline mit steigender Anzahl von
Stützstellen ?
- Wie lässt sich die Konvergenzordnung numerisch verifizieren?
- Was geschieht, wenn f nicht glatt ist?
- Vergleichen Sie die Spline-Interpolation mit der Polynominterpolation !
|
|
|
|
|
|
|