You are on page 1of 15

4 Polynominterpolation

Ein Polynom pn (x) vom Grad maximal n ∈ N0 ist gegeben durch


n
X
pn (x) = a k xk . (4.0.1)
k=0

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)

4.1 Auswertung von Polynomen I: Hornerschema


Die Auswertung von (4.0.1) an einer Stelle x ∈ R erfordert in der naiven Variante n flops plus
n − 1 Potenzen xk , k = 2 : n von x. Effektiver ist das Hornerschema. Der Algorithmus basiert
auf (4.0.1) in der Form
   
pn (z) = . . . (an z + an−1 ) z + an−2 z + an−3 z + · · · + a1 z + a0 (4.1.1)

bn = an ; bk = ak + bk+1 z, k = n − 1 : −1 : 0 . (4.1.2)

Algorithmus 4.1.1 (Hornerschema)


input: n, a(1 : n + 1) = (an , an−1 , . . . , a0 ), z ∈ R
output: pn (z) in (4.0.1)
b(1) := a(1)
for j = 2 : n + 1 do
b(j) = a(j) + b(j − 1) ∗ z
end;
pn (z) := b(n + 1) .

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)).

May 14, 2007 76


4.2. INTERPOLATION

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)

Dann existiert genau ein Polynom pn (x) ∈ Pn mit


pn (xi ) = yi , i = 0 : n. (4.2.2)
Beweis: Wir leiten eine Formel für pn (x) her. Sei dazu
Pn = span{`k (x) : k = 0 : n}
mit einer Basis {`k (x)}nk=0 von Pn derart, dass gilt
`k (x) ∈ Pn , `k (xi ) = δik , i, k = 0 : n . (4.2.3)
Die Basis `k (x), k = 0 : n, bezeichnet man als Langrange Interpolationspolynome.
P
Dann ist pn (x) = ni=0 yi `i (x) ∈ Pn das gesuchte Interpolationspolynom. Für die Herleitung
der Interpolationsformel beachten wir, dass das Knotenpolynom ωn+1 (x) zu den n+1 Knoten
xi , i = 0 : n, das definiert ist durch
n
Y
ωn+1 (x) := (x − xk ) = (x − x0 )(x − x1 ) . . . (x − xn ) ∈ Pn+1 (4.2.4)
k=0

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

wegen (4.2.1). Um (4.2.3), also `k (xk ) = 1 zu erhalten, definieren wir für k = 0 : n


Q
n
(x − xi )
n
Y i=0

`k (x) := èk (x)/ èk (xk ) = èk (x)


i6=k
(xk − xi ) = Q
n ∈ Pn . (4.2.5)
i=0
i6=k
(xk − xi )
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

May 14, 2007 77


4.2. INTERPOLATION
Pn
Korollar 4.2.2 Aus (4.0.1) und (4.2.2) folgt yi := k=0 ak xki , i = 0 : n, oder das lineare
Gleichungssystem
Aa = y, (4.2.6)

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.

0 6= det A = det (xki : i, k = 0 : n) . (4.2.7)

Für den Interpolationsfehler gilt


Theorem 4.2.3 Seien x0 , . . . , xn Knoten mit (4.2.1); sei weiter x ∈ [x0 , xn ] beliebig, und

f ∈ C n+1 ([x0 , xn ]) . (4.2.8)

Dann gilt für pn (x) ∈ Pn mit yi = f (xi ), i = 0 : n,

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) .

Auflösen nach En [f ](x) gibt (4.2.9). 2

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.

May 14, 2007 78


4.3. AUSWERTUNG VON POLYNOMEN II: NEVILLE’S SCHEMA

4.3 Auswertung von Polynomen II: Neville’s Schema


Theorem 4.3.1 (Aitken-Neville) Seien (xi , yi ), i = 0 : n gegeben mit x0 < x1 < · · · < xn .
Sei weiter pn (x) das eindeutige Interpolationspolynom. Dann gilt für die Familie P ik (x) ∈ Pk ,
die durch

Pi0 (x) := yi , i = 0 : n (4.3.1)


 
Pik (x) := (x − xi ) Pi+1,k−1 (x) − (x − xi+k ) Pi,k−1(x) /(xi+k − xi ) (4.3.2)
k = 1 : n, i = 0 : n − k

definiert ist, dass


pn (x) = P0n (x) ∈ Pn
ist mit pn (xi ) = yi , i = 0, . . . , n.

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

P01 (x0 ) = − (x0 − x1 ) P0,0 (x0 )/(x1 − x0 ) = P00 (x0 ) = y0 ,


P01 (x1 ) = (x1 − x0 ) P1,0 (x1 )/(x1 − x0 ) = P10 (x1 ) = y1 ,

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

denn Pi,k−1 (x) interpoliert an xj , j = i : i + k − 1, Pi+1,k−1 an xj für j = i + 1 : i + k. Damit

Pik (xi ) = − (xi − xi+k ) Pi,k−1 (xi )/(xi+k − xi ) = Pi,k−1 (xi ) = yi ,


Pik (xi+k ) = (xi+k − xi ) Pi+1,k−1 (xi+k )/(xi+k − xi ) = yi+k

also interpoliert Pik ∈ Pk an xj für j = i : i + k.


Für k = n und i = 0 folgt die Behauptung. 2

May 14, 2007 79


4.4. NEWTON’SCHE INTERPOLATIONSFORMEL. DIVIDIERTE DIFFERENZEN
([QSS2], §8.2)

Anwendung: Seien (xi , yi ), i = 0 : n gegeben. Dann ist das Aitken-Neville Schema:

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)

4.4 Newton’sche Interpolationsformel. Dividierte Dif-


ferenzen ([QSS2], §8.2)
Seien (xi , yi ), i = 0 : n mit x0 < x1 < · · · < xn gegeben und πn ∈ Pn das eindeutige Inter-
polationspolynom zu (xi , yi ), i = 0 : n, und πn−1 ∈ Pn−1 Interpolationspolynom zu (xi , yi ),
i = 0 : n − 1. Wie bei Aitken wollen wir von πn−1 auf πn (x) schliessen. Ansatz:

πn (x) = πn−1 (x) + qn (x), qn (x) ∈ Pn . (4.4.1)

Dann gilt
qn (xi ) = πn (xi ) − πn−1 (xi ) = yi − yi = 0, i = 0 : n −1.

Damit ist für einen Parameter an ∈ R

qn (x) = an (x − x0 )(x − x1 ) . . . (x − xn−1 ) = an ωn (x) . (4.4.2)

an erhält man aus der Interpolationsbedingung


! 
πn (xn ) = yn ⇐⇒ πn−1 (xn ) + an ωn (xn ) = yn ⇐⇒ an = yn − πn−1 (xn ) /ωn (xn ) . (4.4.3)

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)

Einsetzen von (4.4.4) in (4.4.1) ergibt

πn (x) = πn−1 (x) + ωn (x) f [x0 , . . . , xn ] . (4.4.5)

Mit der Konvention


y0 = f (x0 ) = f [x0 ], ω0 ≡ 1 ,

May 14, 2007 80


4.5. KONDITION DER POLYNOMINTERPOLATION

folgt aus Iteration von (4.4.5) die Newton’sche Interpolationsformel


n
X
πn f (x) = ωk (x) f [x0 , . . . , xk ] . (4.4.6)
k=0

Algorithmus 4.4.2 (Rekurrenz für dividierte Differenzen)

Gegeben: x0 < x1 < · · · < xn , yi , i = 0 : n .


f [xi ] := yi , i = 0 : n
for k = 1 : n, i = 0 : n − k

f [xi , xi+1 , . . . , xi+k ] := f [xi+1 , . . . , xi+k ] − f [xi , . . . , xi+k−1 ] /(xi+k − xi ) . (4.4.7)

Beispiel 4.4.3 Sei n = 1. Dann gilt


x − x1 x − x0
Lagrange: P1 (x) = y0 + y1 ,
x0 − x 1 x1 − x 0

Aitken: P1 (x) = (x − x0 ) y1 − (x − x1 ) y0 /(x1 − x0 )
y1 − y 0
Newton: P1 (x) = y0 + (x − x0 )
x1 − x 0

4.5 Kondition der Polynominterpolation


Sei f ∈ C 0 ([a, b]) und für n ∈ N

a := x0 < x1 < · · · < xn := b (4.5.1)

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

Sei jetzt fe(x) ∈ C 0 ([a, b]) Störung von f :

fe(x) = f (x) + δ(x), δ ∈ C 0 ([a, b]) “klein” . (4.5.3)

Dann gilt pen (x) := In [fe](x) 6= pn (x). Aufgrund der Linearität des Interpolationsoperators gilt

In [αf + βg] = αIn [f ] + βIn [g] , (4.5.4)

α, β ∈ R, f, g ∈ C 0 ([a, b]), und


In [q] ≡ q ∀q ∈ Pn . (4.5.5)
Insbesondere ist also
pn − pen = In [f ] − In [fe] = In [f − fe] = In [δ] . (4.5.6)
Gilt nun “δ klein =⇒ pn − pen klein”?

May 14, 2007 81


4.5. KONDITION DER POLYNOMINTERPOLATION

Dazu versehen wir den Vektorraum V = C 0 ([a, b]) mit der Norm

kf k∞ := max |f (x)| . (4.5.7)


a≤x≤b

Dann gilt in (4.5.6) mit (4.5.2)

kpn − pen k∞ = kIn [δ]k∞


Xn

= δ(xk ) `k (x)

k=0

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

Lebesgue Konstante von {x0 , . . . , xn }.

Theorem 4.5.2 Es gilt für a =: x0 < x1 < x2 < · · · < xn := b die Quasioptimalität

kf − In [f ]k∞ ≤ (1 + Λn ) inf kf − qk∞ (4.5.10)


q∈Pn

und, für f, fe ∈ C 0 ([a, b]) mit pn = In [f ], pen = In [fe],

kpn − pen k∞ ≤ Λn kf − fek∞ . (4.5.11)

Beweis: (4.5.5) impliziert für alle q ∈ Pn

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∞ .

Da q ∈ Pn beliebig war, folgt (4.5.10). (4.5.11) ist offensichtlich. 2

May 14, 2007 82


4.6. SPLINE-INTERPOLATION
(n)
Bemerkung 4.5.3 Für n = 1, 2, 3, . . . und xi = a + i(b − a)/n, i = 0 : n, gilt

∼ 2n+1
Λequidist
n = , n → ∞. (4.5.12)
en log n

Seien a = −1, b = 1, n ∈ N und


 jπ 
(n)
xj := − cos , j = 0 : n, (4.5.13)
n

die sog. Gauss-Lobatto Knoten sind. Dann gilt (Rivlin (1961)):


2
ΛGLob
n ≤ log(n + 1) + 1 . (4.5.14)
π
 (n) ∞
Dies ist optimal, denn es gilt auch: für jede Folge X = {xj }j=0:n n=1 existiert C > 0 so,
dass
2
Λn (X) > log(n + 1) − C (4.5.15)
π
(Erdös (1961)).

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

Fig. 6.1: stückweise lineare Interpolationsfunktion; an


den Stützstellen ist diese Funktion nicht
differenzierbar

---- glatte Kurve durch dieselben Stützpunkte

May 14, 2007 83


4.6. SPLINE-INTERPOLATION

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:

i) s(x) ist zweimal stetig differenzierbar auf [a, b]


ii) s(x) ist auf [xi , xi+1 ] ein Polynom vom Grade 3.

b) s heisst interpolierender Spline zu den Stützwerten f0 , . . . , fn , wenn gilt s(xj ) = fj für


j = 0, 1, . . . , n.
c) s heisst periodischer interpolierender Spline mit Periode b − a, falls neben a) und b) gilt
s(j) (a) = s(j) (b) für j = 0, 1, 2.
d) s heisst natürlicher interpolierender Spline, wenn neben a) und b) gilt s 00 (a) = s00 (b) = 0.

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

Dabei ist hj = xj − xj−1 .

Mn
s00 (x)
x0 x1 Mj−1 fig6.6-rj.eps xj
157 × 60 mm
M1 Mj xn
M0 | {z }
hj

May 14, 2007 84


4.6. SPLINE-INTERPOLATION

Fig. 6.2: s00 (x) ist stückweise linear und stetig

Durch Integration folgt dann für x ∈ [xj−1 , xj ]


Z x
0 (xj − x)2 (x − xj−1 )2
s (x) = s00 (τ )dτ = −Mj−1 + Mj + Cj
xj−1 2hj 2hj

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

wobei C j , Dj Integrationskonstanten sind, die mit Hilfe der Interpolationsbedingungen

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

und aus (4.6.3) und (4.6.2) =⇒

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

May 14, 2007 85


4.6. SPLINE-INTERPOLATION

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

May 14, 2007 86


4.6. SPLINE-INTERPOLATION

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.

Theorem 4.6.2 Eine strikt diagonaldominante Matrix ist regulär.

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

2 > 1 = |λj | + |µj | .

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)

May 14, 2007 87


4.6. SPLINE-INTERPOLATION

Das Differenzenschema lautet


xi fi
1 0
&
f [x0 , x1 ] = 1
% &
2 1 f [x0 , x1 , x2 ] = −1 .
& %
f [x1 , x2 ] = −1
%
3 0

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]

Man kann diesen Spline auch wie folgt berechnen:


Da alle Daten symmetrisch zu x = 2 sind, gilt s(x − 2) = s(2 − x). Insbesondere ist s0 (2) = 0.
Da s(x) in [1,2] ein kubisches Polynom ist, können wir es ansetzen als

s(x) = (x − 1)(ax2 + bx + c) ,

denn es muss ja s(1) = 0 gelten. Die folgenden drei Bedingungen

s(2) = 4a + 2b + c = 1
s0 (2) = 8a + 3b + c = 0
s00 (1) = 4a + 2b = 0

liefern ein Gleichungsssystem für a, b, c, dessen Lösung offensichtlich c = 1, b = 1, a = −1/2


ist.

May 14, 2007 88


4.6. SPLINE-INTERPOLATION

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 π

Als Lösung des Gleichungssystems erhält man


12
M1 = M3 = 0, M2 = −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 .
π π

May 14, 2007 89


4.6. SPLINE-INTERPOLATION

Diese Approximation ist schon recht genau, denn es gilt

max | sin(x) − s(x)| ≤ 0.021 .


x∈[0,π/2]

May 14, 2007 90

You might also like