Praktikum II “Numerik am Computer” FS 2021
Prof. Dr. H. Harbrecht Universität Basel
A. Bot, J. Bopp, M. Fallahpour, H. Gubler, F. Rios, C. Santos
Beilage zur Serie 7
Kubische Splines
Splines
Im Folgenden findest du eine kurze Zusammenstellung über den natürlichen kubischen Spline. Hier sind vor allem die Formeln zu seiner Berechnung aufgeführt.
Zu den Stützpunkten (xk, yk), k = 0,1, . . . , n seis(x)der natürliche kubische Spline, der durch diese Punkte geht. Der Spline s(x)ist stückweise auf den Intervallen [xi−1, xi], i= 1,2, . . . , n, definiert. Die Einschränkung vons auf ein Intervall [xi−1, xi] ist ein kubisches Polynom, das wir mit si bezeichnen. Für z ∈[xi−1, xi] ist alsos(z) = si(z). Speziell gilt
si(z) =Ai+ (z−xi−1)Bi+ (z−xi−1)2(z−xi)Ci+ (z−xi−1)(z−xi)2Di, wobei
Ai =yi−1, Ci = pi−f[xi, xi−1] h2i−1 , Bi =f[xi, xi−1], Di = pi−1−f[xi, xi−1]
h2i−1 . Dabei wurde die Notation
f[xi, xi−1] := yi−yi−1 xi−xi−1
und hi−1 :=xi−xi−1
verwendet. Diepi sind durch folgendes Gleichungssystem gegeben und müssen ausgerech- net werden:
2 1
h−10 2(h−10 +h−11 ) h−11
. .. . .. . ..
h−1n−2 2(h−1n−2+h−1n−1) h−1n−1
1 2
| {z }
=:M
p0
p1 ... pn−1
pn
| {z }
=:p
=
d0
d1 ... dn−1
dn
| {z }
=:d
,
wobei
d0 := 3f[x1, x0] di := 3
f[xi, xi−1]
hi−1 +f[xi+1, xi] hi
, i= 1,2, . . . , n−1 dn:= 3f[xn, xn−1].
1
Splines in MATLAB
In Matlab kann der eingespannte interpolierende kubische Spline mit Hilfe des Befehls S = spline(X, Y, Z)berechnet werden. Dabei enthalten die VektorenXundYdie Stütz- stellen. Im Vektor Z stehen die Werte, an denen der Spline ausgewertet werden soll, und im Vektor S werden diese Funktionsauswertungen gespeichert.
Mit doc spline kannst du dir in MATLAB die Dokumentation zu dem Befehl anzeigen lassen. Dort findest du eine ausführlichere Beschreibung.
Allgemeine Informationen zum Praktikum befinden sich auf der Webseite
http://cm.dmi.unibas.ch/teaching/praktikumII/praktikumII.html
2