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:
    1. Si(x) ist Polynom vom Grad kleiner oder gleich 3.
    2. S(x) = Si(x) im Intervall [xi,xi+1].
    3. Si(xi) = f(xi).
    4. Si(xi+1) = f(xi+1).
    5. S'i(xi+1) = S'i+1(xi+1).
    6. 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 !
 

Das Eingabeformular

 
 

Zurück: Interpolation

 
Back to the top!

14.10.2008