Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
Die Menge aller Polynome vom Grad maximal n, Pn , ist ein Vektorraum der Dimension n + 1
(Beispiel 0.1.2). Es gilt nach (4.0.1)
Pn = span{xk : k = 0 : n} (4.0.2)
mit der Basis der Monome
x0 , x1 , . . . , x n . (4.0.3)
bn = an ; bk = ak + bk+1 z, k = n − 1 : −1 : 0 . (4.1.2)
Sei für x ∈ R
n
X
n−1
qn−1 (x; z) := b1 + b2 x + · · · + bn x = bk xk−1 ∈ Pn−1 (4.1.3)
k=1
das Polynom zu den b1 (z), . . . , bn (z) aus (4.1.2). Es hängt von z ∈ R in (4.1.1) durch die bk ab
und erfüllt (nachrechnen!)
pn (x) = b0 + (x − z) qn−1 (x; z) . (4.1.4)
Bemerkung 4.1.2 Ist z Nullstelle von pn (x), gilt b0 = pn (z) = 0 und somit in (4.1.4), dass
pn (x) = (x − z) qn−1 (x; z) . (4.1.5)
Also hat qn−1 (x; z) genau die n − 1 Nullstellen von pn (x), die ungleich z sind (ist z eine k-fache
Nullstelle von pn (x), ist es k − 1-fache Nullstelle von qn−1 (x; z)).
4.2 Interpolation
Seien n+1 Datenpunkte (xi , yi ), i = 0 : n, gegeben. Die xi heissen Stützstellen oder Knoten,
die yi sind die Funktionswerte. Es gilt
Theorem 4.2.1 Seien (xi , yi ), i = 0 : n gegeben und seien die Knoten paarweise verschieden:
xi 6= xj , i, j = 0 : n, i 6= j . (4.2.1)
die Bedingung ωn+1 (xk ) = 0 für k = 0 : n erfüllt. Also erfüllt das Polynom vom Grad n
n
Y
èk (x) := ωn+1 (x)/(x − xk ) = (x − xi ) ∈ Pn ,
i=0
i6=k
n
Y
èk (xi ) = 0 für i 6= k, èk (xk ) = (xk − xi ) 6= 0
i=0
i6=k
Pn
Dann erfüllt pn = i=0 yi `i (x) ∈ Pn die Bedingung (4.2.2).
pn ∈ Pn ist mit (4.2.2) eindeutig bestimmt: denn sei pen ∈ Pn ungleich pn , so impliziert (4.2.2),
dass qn := pn − pen ∈ Pn die n + 1 verschiedenen Nullstellen xi , i = 0 : n, hat. Das einzige
Polynom vom Grad n, das n + 1 Nullstellen hat, ist das Nullpolynom qn ≡ 0. 2
mit a = (a0 , . . . , an )> , y = (y0 , . . . , yn )> und A = (aij )ni,j=0 , aij = xji . Aus Theorem 4.2.1 folgt,
dass (4.2.6) eine eindeutige Lösung hat, d.h.
f (n+1) (ξ)
En [f ](x) := f (x) − pn (x) = ωn+1 (x) , (4.2.9)
(n + 1)!
wobei ξ ∈ [x0 , xn ].
Beweis: Für x = xi ist En [f ](xi ) = 0.
Sei nun t ∈ I := [x0 , xn ] und
G(t) := En [f ](t) − ωn+1 (t) En [f ](x) ωn+1 (x) . (4.2.10)
Wegen f ∈ C n+1 (I) und ωn+1 ∈ Pn+1 gilt G ∈ C n+1 (I) und G(·) hat n + 2 verschiedene
Nullstellen, denn
G(xi ) = En [f ](xi ) − ωn+1 (xi ) En [f ](x) ωn+1 (x) = 0 , i = 0 : n ,
G(x) = En [f ](x) − ωn+1 (x) En [f ](x) ωn+1 (x) = 0 .
dG
Also hat G0 = genau n + 1 = n + 2 − 1 Nullstellen, und
dt
dj G
G(j) = (t) hat genau n + 2 − j Nullstellen
dtj
für j = 1 : n + 1. Also hat G(n+1) genau 1 Nullstelle. Sei t = ξ diese Nullstelle. Sie hängt, wie
(n+1) (n+1)
G(t), von x ab, d.h. ξ = ξ(x). Wegen En [f ](t) = f (n+1) (t) und ωn+1 (x) = (n + 1)! folgt
aus (4.2.10), dass
0 = G(n+1) (ξ) = f (n+1) (ξ) − (n + 1)! En [f ](x) ωn+1 (x) .
Für die Auswertung des Interpolationspolynoms pn (x) aus Satz 4.2.1 ist es nicht erforderlich,
die Koeffizienten ak in (4.1.1) zu kennen. Vielmehr kann direkt aus den (xi , yi ), i = 0 : n, pn (z)
für ein z berechnet werden. Ist nur ein Wert z von Interesse, kann pn (z) mit dem Neville-Schema
berechnet werden.
Beweis: (4.3.1) besagt, dass jedes Pi0 ∈ P0 , das ja ein Polynom vom Grad null, also eine
konstante Funktion, ist, genau ein yi “interpoliert”. Sei nun k = 1. Wegen Pi0 ∈ P0 folgt aus
(4.3.2) sofort Pi1 ∈ P1 , i = 0 : n − 1. Weiter ist
und, allgemeiner,
Pi1 (xi ) = yi , Pi1 (xi+1 ) = yi+1 , i = 0 : n − 1 ,
und, per Induktion nach k, für Pik (x) ∈ Pk , k = 1 : n
Pik (xj ) = yj , j = i : i + k, i = 0 : n − k
x0 y0 = P00 (x)
&
P01 (x)
%
x1 y1 = P10 (x)
&
..
. P11 (x) Pi,k−1 (x)
% &
.. ..
. . Pik (x)
..
. & %
Pn−1,1 (x) Pi+1,k−1 (x)
%
xn yn = Pn0 (x)
Dann gilt
qn (xi ) = πn (xi ) − πn−1 (xi ) = yi − yi = 0, i = 0 : n −1.
Definition 4.4.1 an in (4.4.3) ist die n-te dividierte Differenz zu (xi , yi ), i = 0 : n. Schreib-
weise:
an = f [x0 , x1 , . . . , xn ] . (4.4.4)
Stützstellen; dann ist pn (x) ∈ Pn mit pn (xi ) ≡ f (xi ) eindeutig, wir schreiben mit `k (x) in
(4.2.5)
n
X
pn (x) = In [f ](x) = f (xk ) `k (x) . (4.5.2)
k=0
Dann gilt pen (x) := In [fe](x) 6= pn (x). Aufgrund der Linearität des Interpolationsoperators gilt
Dazu versehen wir den Vektorraum V = C 0 ([a, b]) mit der Norm
Xn
(4.5.8)
≤ max |δ(xk )|
|`k (x)|
0≤k≤n ∞
k=0
Xn
≤ kδk∞
|`k (x)|
.
∞
k=0
(n)
Definition 4.5.1 Seien a =: x0 < x1 < · · · < xn := b Interpolationsknoten und `j (x) ∈ Pn
die Lagrange Polynome. Dann heisst
Xn
(n)
Λn = Λn ({x0 , . . . , xn }) :=
|`j (x)|
(4.5.9)
∞
j=0
Theorem 4.5.2 Es gilt für a =: x0 < x1 < x2 < · · · < xn := b die Quasioptimalität
kf − In [f ]k∞ = kf − q + q − In [f ]k∞
= k(f − q) − In [f − q]k∞
≤ kf − qk∞ + kIn [f − q]k∞
Xn
(n)
= kf − qk∞ +
|`j (x)|
kf − qk∞
∞
j=0
= (1 + Λn ) kf − qk∞ .
∼ 2n+1
Λequidist
n = , n → ∞. (4.5.12)
en log n
4.6 Spline-Interpolation
Bei der Approximation einer Funktion f [a, b] → R durch Polynominterpolation lassen sich
durch Erhöhung des Polynomgrades nicht immer Genauigkeitsverbesserungen erzielen, wie das
Beispiel von Runge (→ Übungen) zeigt. Hinzu kommt, dass Interpolationspolynome von ho-
hem Grad stark oszillieren. Dies wirkt sich bei vielen Anwendungen unangenehm aus (z.B.
Computer-Graphik, Computer aided design (CAD)). Die Genauigkeit kann dadurch verbessert
werden, dass man das Intervall [a, b] in viele Teilintervalle aufteilt und auf jedem Teilintervall
interpoliert. Dadurch lassen sich Interpolationspolynome von hohem Grad vermeiden, aber
man erhält Funktionen, deren Ableitungen an den Anschlusstellen unstetig sind. Diese Un-
stetigkeiten in der Ableitung, wie sie z.B. bei stückweise linearer Interpolationen auftritt (siehe
Fig. 6.1), sind bei vielen Anwendungen äusserst störend.
fig6.5-rj.eps
114 × 39 mm
x0
x1 x2 x3 x4 x5
Ist neben f (x) auch f 0 (x) bekannt, so könnte man von den Interpolationspolynomen P (x)
zusätzlich verlangen, dass neben P (xj ) = f (xj ) auch P 0 (xj ) = f 0 (xj ) gilt. Dies führt auf die
Hermite-Interpolation, die wir hier nicht weiter behandeln. Ist aber f 0 (x) nicht bekannt, so
muss man an die interpolierende Funktion s(x) noch genügend Glattheitsbedingungen stellen,
was wir im folgenden tun werden. Auf diese Weise erhält man eine Spline-Funktion.
Im Schiffsbau wurde die Spline-Interpolation schon lange experimentell durchgeführt. Durch
die zu interpolierenden Punkte wird eine dünne Latte (Spline) gelegt, die durch in den Stütz-
punkten angreifende Kräfte fixiert wird. Dadurch erhält man glatte Interpolationskurven. Da
diese Latten aus homogenem Material bestehen, verschwindet die vierte Ableitung der Interpo-
lationsfunktion, d.h. es liegen stückweise kubische Polynome vor. Die Interpolationsfunktion
selbst ist sogar zweimal stetig differenzierbar. Diese spezielle Spline-Interpolation werden wir
im folgenden berechnen.
Definition 4.6.1 a) s(x) : [a, b] → R heisst kubischer Spline zu den Knoten a = x0 <
x1 < · · · < xn = b, wenn gilt:
Zur Berechnung der kubischen Interpolationssplines führen wir für die Momente s00 (xj ) die
Abkürzung Mj := s00 (xj ), j = 0, . . . , n, ein. Diese Momente Mj sind zunächst noch unbekannt.
Damit die stückweise lineare Ableitung s00 (x) in den Stützstellen stetig ist, muss gelten:
xj − x x − xj−1
s00 (x) = Mj−1 + Mj für x ∈ [xj−1 , xj ] .
hj hj
Mn
s00 (x)
x0 x1 Mj−1 fig6.6-rj.eps xj
157 × 60 mm
M1 Mj xn
M0 | {z }
hj
und
Z
x
(xj − x)3 (x − xj−1 )3 xj−1 + xj
s(x) = s0 (τ )dτ = Mj−1 + Mj + Cj · x − + Dj , (4.6.1)
xj−1 6hj 6hj 2
h2j hj
fj−1 = s(xj−1 ) = Mj−1 − Cj + Dj (4.6.2)
6 2
und
h2j hj
fj = s(xj ) = Mj + Cj + Dj (4.6.3)
6 2
bestimmt werden. Aus (4.6.2) - (4.6.3) erhält man
fj − fj−1 hj
Cj = − (Mj − Mj−1 ) (4.6.4)
hj 6
fj + fj−1 h2j
Dj = − (Mj + Mj−1 ) . (4.6.5)
2 12
Bis auf die noch unbekannten Momente Mj , j = 0, . . . , n, ist der Interpolationsspline bereits
bestimmt. Noch nicht ausgenutzt wurde bisher die Stetigkeit von s0 (x)(x). Im Intervall [xj−1 , xj ]
gilt
hj fj − fj−1 hj
s0 (xj − 0) = Mj + − (Mj − Mj−1 )
2 hj 6
hj hj
= f [xj−1 , xj ] + Mj + Mj−1 ;
3 6
und im Intervall [xj , xj+1 ]
hj+1 hj+1
s0 (xj + 0) = f [xj , xj+1 ] − Mj + Mj+1 .
3 6
Wegen der verlangten Stetigkeit von s0 in xj setzt man beide Werte gleich und erhält mit den
Abkürzungen
hj hj+1
µj := , λj = 1 − µ j =
hj + hj+1 hj + hj+1
die n − 1 Gleichungen
µj Mj−1 + 2Mj + λj Mj+1 = 6f [xj−1 , xj , xj+1 ] =: dj ,
(4.6.6)
j = 1, 2, . . . , n − 1 .
Man hat also ein lineares Gleichungssystem mit n − 1 Gleichungen für n + 1 Unbekannte
M0 , . . . , Mn zu lösen. Die fehlenden Bedingungen verschafft man sich je nach den gewünschten
Eigenschaften der Interpolierenden.
a) Periodischer Spline
Damit der interpolierende Spline überhaupt die Periode xn − x0 haben kann, muss für die
Daten f0 = fn gelten. Offensichtlich muss
M0 = M n (4.6.7)
gesetzt werden. Dies stellt nur eine der noch fehlenden Gleichungen dar. Die zweite
erhalten wir aus
s0 (x0 + 0) = s0 (xn − 0) . (4.6.8)
(4.6.8) ist aber äquivalent zu (4.6.6) mit j = n, hn+1 = h1 , Mn+1 = M1 , fn+1 = f1 und
xn+1 = xn + h1 , denn der Spline ist xn − x0 periodisch. (4.6.6), (4.6.7), (4.6.8) ergeben
somit das folgende Gleichungssystem
2 λ1 0... µ1 M1 d1
µ
2 2 λ2 0... 0 M2
d2
0
µ3 2 λ3 0... 0 M3 d
.. .. 3
. . = (4.6.9)
..
.
..
.
.. ..
. . .. .
.
..
µn−1 2 λn−1
λn 0... 0 µn 2 Mn dn
b) Sind die Werte f 0 (a), f 0 (b) bekannt, so fordert man f 0 (a) = s0 (a) und f 0 (b) = s0 (b). Das
führt zu den Zusatzbedingungen
6
2M0 + M1 = (f [x0 , x1 ] − f 0 (x0 )) =: d0
h1
(4.6.10)
6 0
Mn−1 + 2Mn = (f (xn ) − f [xn−1 , xn ]) =: dn
hn
2 1 0... M0 d0
µ 2 ..
1 λ1 0... d1
.
0 µ2 2 λ2 0...
.
.. .. .. . .
. . . .
. = . (4.6.11)
. .. . .. . .. .
.. .
.
µn−1 2 λn−1 .
0 1 2 Mn dn
c) Bei natürlichen Splines wird M0 = Mn = 0 gesetzt. Dadurch wird die Krümmung des
Splines an den Intervallenden x0 und xn gerade Null. Das Gleichungssystem für die noch
unbekannten Momente lautet nun
2 λ1 0... 0 M1 d1
µ 2 λ2 0... 0
2 M2 d2
0 µ3 2 λ3 0... 0
. .
. .. . .. . .. .. ..
= (4.6.12)
.. .. ..
. . . . .
.. ..
λn−2
0 0 µn−1 2 Mn−1 dn−1
Die Existenz und Eindeutigkeit dieser Systeme (4.6.9), (4.6.4) respektive (4.6.12) muss noch
gesichert werden. Für strikt diagonal dominante Matrizen gilt aber der folgende Satz.
Man rechnet nun in allen drei Fällen (4.6.9), (4.6.11) und (4.6.2) leicht nach, dass die Matrizen
der Gleichungssysteme strikt diagonal dominant sind, denn es gilt
Damit sind die Gleichungssysteme regulär und die Momente eindeutig bestimmt. Da die Glei-
chungssysteme Bandstruktur haben, benötigt deren Auflösung nur 5n Punktoperationen in den
Fällen b) und c) respektive 10n Punktoperationen bei a). Man beachte, dass beim Aufstellen
des in der Newton-Interpolationsformel benötigten Differenzenschemas n2 /2 Punktoperationen
ausgeführt werden müssen (vgl. Algorithmus 4.4.2).
Für äquidistante Knoten, d.h. hi = hi+1 , i = 0, 1, . . . , n − 1, gilt
λi = µi = 1/2 .
Beispiel 4.6.3 Wir berechnen den natürlichen kubischen Spline durch die Stützpunkte
i 0 1 2
xi 1 2 3
fi 0 1 0 .
Offensichtlich ist n = 2, und da es ein natürlicher Spline ist, gilt M0 = M2 = 0, und das System
(4.6.12) reduziert sich zu
2M1 = d1 = 6f [x0 , x1 , x2 ] . (4.6.13)
Also ist M1 = −3 = s00 (2). Nun setzt man in (4.6.4), (4.6.5), und (4.6.1) ein und erhält
3 3
C1 = , C2 = −
2 2
3 3
D1 = , D2 =
4 4
3 3 3 3
s(x) = − 12 (x − 1)3 + x− + = − 12 x3 + x2 − 1
2 2 4 2
für x ∈ [1, 2]
3 5 3 9
s(x) = − 21 (3 − x)3 − x− + = 1
2
x3 − x2 + 12x − 9
2 2 4 2
für x ∈ [2, 3]
s(x) = (x − 1)(ax2 + bx + c) ,
s(2) = 4a + 2b + c = 1
s0 (2) = 8a + 3b + c = 0
s00 (1) = 4a + 2b = 0
Beispiel 4.6.4 Ersetze die Sinus-Funktion über eine Periode durch einen periodischen Spline
mit den Knoten −π/2, 0, π/2, π, 3π/2. Somit ist n = 4. Die zu interpolierenden Daten liefern
die folgenden dividierten Differenzen:
i xi fi = sin(xi )
0 −π/2 −1
&
2
f [x0 , x1 ] =
π
% &
1 0 0 f [x0 , x1 , x2 ] = 0 .
& %
2
f [x1 , x2 ] =
π
% &
4
2 π/2 1 f [x1 , x2 , x3 ] = −
π2
& %
2
f [x2 , x3 ] = −
π
% &
3 π 0 f [x2 , x3 , x4 ] = 0
& %
2
f [x3 , x4 ] = −
π
% &
4
4 3π/2 −1 f [x3 , x4 , x5 ] =
π2
2
f [x4 , x5 ] =
π
%
5 2π 0
2 1/2 0 1/2 M1 0
24
1/2 2 1/2 0 M2 − π 2
0 1/2 2 1/2 M = 0 . (4.6.14)
3
24
1/2 0 1/2 2 M4 2 π
Mit (4.6.4), (4.6.5) und (4.6.1) finden wir für den Spline auf dem Intervall [0, π/2] die Darstel-
lung
4 3
s(x) = − 3 x3 + x .
π π