Polynominterpolation
Seien n + 1 Wertepaare (xi , yi ), i = 0, . . . , n gegeben. Die Punkte xi heissen Stützstellen und die
“Funktionswerte” yi heissen Stützwerte. Bei der Interpolation versucht man, eine Kurve durch
diese Punkte zu legen, d.h. eine Funktion x 7→ f (x) zu finden mit f (xi ) = yi , i = 0, . . . , n.
Offensichtlich ist die Funktion f nicht eindeutig und man muss Zusatzbedingungen stellen, d.h.
man muss f aus einer geeigneten Klasse von Funktionen auswählen. In der Praxis werden meist
folgende Funktionenklassen (d.h. Interpolationstypen) benutzt:
• Polynominterpolation: f (x) = c0 + c1 x + · · · + cn xn .
• rationale Interpolation: f (x) = p(x)
q(x) , wobei p, q Polynome sind. Eine solche Interpolation
wird z.B. gerne angewandt, wenn bekannt ist, dass die zu approximierende Funktion Pole
hat.
• Spline-Interpolation: f ist ein stückweises Polynom festen Grades (typischerweise ist der
Spline stückweise linear oder stückweise kubisch). Besonders in CAD-Systemen finden
Splines und ihre Varianten (B-splines, Bézier-Kurven, NURBS: Non-Uniform Rational B-
Splines) zahlreiche Anwendungen.
• Trigonometrische
X Interpolation: z.B. für die Approximation auf dem Intervall [0, 1] durch
−2πijx
f (x) = aj e . Trigonometrische Interpolation ist besonders dann sinnvoll, wenn
|j|≤n
die zu approximierende Funktion 1-periodisch ist.
75
76 Version 25. März 2019 Kapitel 3. Polynominterpolation
Existenz und Eindeutigkeit der Lösung der Interpolationsaufgabe (3.1) ist gesichert:
Satz 3.2 (Existenz und Eindeutigkeit einer Lösung der Interpolationsaufgabe)
Seien Wertepaare (xi , yi ), i = 0, . . . , n gegeben und seien die Stützstellen xi , i = 0, . . . , n, paar-
weise verschieden. Dann wird (3.1) eindeutig durch
n
X
pn (x) := yi ℓi (x) (3.4)
i=0
gelöst, wobei die Lagrange-Interpolationspolynome durch Definition 3.1 gegeben sind. Die Dar-
stellung (3.4) heisst Lagrangesche Darstellung des Interpolationspolynoms pn .
Beweis. Offensichtlich ist die in (3.4) definierte Funktion pn ein Polynom vom Grad n. Zudem
folgt aus (3.3), dass pn die Interpolationsaufgabe (3.1) erfüllt.
Es bleibt, die Eindeutigkeit der Lösung der Interpolationsaufgabe (3.1) zu zeigen. Seien pn ,
p̃n zwei Polynome vom Grad n, die (3.1) erfüllen. Dann ist das Polynom qn := pn − p̃n ein
Polynom vom Grad n und hat mindestens n + 1 verschiedene Nullstellen x0 , . . . , xn . Nach dem
Fundamentalsatz der Algebra muss dann qn ≡ 0 sein.
Die Darstellungsformel (3.4) gibt das Interpolationspolynom pn explizit an. In der Praxis
werden jedoch andere Darstellungen bevorzugt, da die Auswertung von pn (x) teuer ist, es sei
denn, dass (3.4) erheblich umgeschrieben wird (vgl. [18, Kapitel 3.2.1]).
Der Beweis von Satz 3.2 griff auf den Fundamentalsatz der Algebra zurück. Wir geben nun
einen alternativen Zugang zur Existenz und Eindeutigkeit des Interpolationspolynoms an: die
Menge Pn ist ein linearer Raum der Dimension n + 1 mit der Monombasis {1, x, x2 , ..., xn } (vgl.
Beispiel 0.2). Ziel der Polynominterpolation ist es, für n + 1 gegebene Datenpunkte
x0 x1 · · · xn
y0 y1 · · · yn
c0 + c1 x0 + · · · + cn xn0 = y0 ,
c0 + c1 x1 + · · · + cn xn1 = y1 ,
..
.
c0 + c1 xn + · · · + cn xnn = yn .
Die Auswertung dieses Ausdrucks von innen nach aussen führt auf den folgenden Algorithmus.
Algorithmus 3.3 Matlab
Input: c0 , . . . , cn ∈ R; function y = horner(c,x)
x⋆ ∈ R. % Input: Vektor c mit Polynomkoeffizienten.
Output: pn (x⋆ ) = y⋆ % Vektor x der Laenge k.
mit p wie % Output: Vektor y mit Werten des Polynoms
in (3.5). % an den Stellen x(1), ..., x(k).
n = length(c)-1; k = length(x);
y⋆ := cn . y(1:k,1) = c(n+1);
for j = n − 1, . . . , 0 for j = n:-1:1,
do y = c(j) + y.*x;
y⋆ = cj + y⋆ x⋆ end
end for
Die auf der rechten Seite aufgeführte Matlab-Funktion wurde so geschrieben, dass sie das
Polynom gleichzeitig an mehreren Stellen auswerten kann. Der Operator .* führt dabei die
elementweise Multiplikation zweier Vektoren durch. Siehe auch die Matlab-Funktion polyval.12
Beispiel 3.4 Das folgende Matlab-Skript interpoliert sin(x) im Intervall [0, n2 π] mit einem Po-
lynom vom Grad 10.
Matlab 1.5
n = 10;
x = linspace(0,n*pi/2,n+1)’; 1
y = sin(x);
0.5
V = zeros(n+1);
for i = 1:n+1, 0
V(:,i) = x.^(i-1);
end −0.5
c = V \ y;
f = horner(c,x); −1
plot(x,f,’b-’,x,y,’rx’);
−1.5
0 5 10 15 20
The Abbildung rechts entspricht den Erwartungen: das interpolierende Polynom (blaue Kur-
ve) geht genau durch die Interpolationsdaten (rote Kreuze). Wir erhöhen nun n auf n = 20 und
n = 40:
n = 20 n = 40
8 2000
6
1500
4
1000
2
500
0
0
−2
−4 −500
0 10 20 30 40 0 20 40 60 80
−2
15 20 25 30 35 40 45
Das in Beispiel 3.4 beobachtete Verhalten liegt an der unglücklich gewählten Formulierung des
Interpolationsproblems. Die Menge Pn aller Polynome vom Grad höchstens n bildet einen Vek-
torraum der Dimension n + 1, siehe Beispiel 0.2. Das Polynom p wird in (3.5) bezüglich der
Monombasis {1, x, . . . , xn } von Pn dargestellt. Wir können aber genausogut eine beliebige ande-
re Basis
b0 (x), b1 (x), . . . , bn (x)
3.2. Lagrange-Interpolation Version 25. März 2019 79
3.2 Lagrange-Interpolation
Abgesehen von den in Beispiel 3.4 illustrierten numerischen Problemen, ist ein weiterer Nachteil
der Monombasis, dass das Gleichungssystem (3.8) voll besetzt ist, also kostet dessen Lösung
mittels LR-Zerlegung O(n3 ) flops.
Ein wesentlich einfacheres Gleichungssystem zieht die Wahl der Lagrange-Polynome (3.2)
für bi (x) in (3.8) nach sich: Es gilt offensichtlich die Kroneckereigenschaft (3.3). Man beachte,
dass die Lagrange-Polynome im Gegensatz zur Monombasis von den Stützstellen abhängen.
Satz 3.5 Sei x0 , . . . , xn ∈ R paarweise verschieden, d.h. xi 6= xj für alle i 6= j. Dann bilden
die in (3.2) definierten Lagrange-Polynome ℓ0 (x), . . . , ℓn (x) eine Basis des Pn .
Beweis. Da bereits dim(Pn ) = n + 1 bekannt ist, bleibt lediglich zu zeigen, dass die Lagrange-
Polynome linear unabhängig sind. Seien a0 , . . . , an ∈ R, so dass
Wegen der Kronecker Eigenschaft (3.3) wird das lineare Gleichungssystem (3.8) trivial; die
Systemmatrix ist die Identität! Also gilt aj = yj für j = 0, . . . , n und das interpolierende Polynom
besitzt die Darstellung
Als Korollar folgt, dass die Polynominterpolationsaufgabe immer eindeutig lösbar ist, vorausge-
setzt die Stützstellen sind paarweise verschieden. Dies liefert einen weiteren, elementaren Beweis
von Satz 3.2 der nicht auf den Fundamentalsatz der Algebra zurückgreift.
Eine weitere Anwendung der Interpolation ist der “Ersatz” einer komplizierten oder sogar
unbekannten Funktion f durch ein Polynom. Der folgende Satz liefert eine Aussage über den
dabei auftretenden Approximationsfehler.
Satz 3.6 Seien x0 < x1 < · · · < xn Stützstellen; sei weiter x⋆ ∈ [x0 , xn ] beliebig, und
Dann gilt für das Interpolationspolynom pn ∈ Pn mit pn (xi ) = f (xi ) für i = 0, . . . , n folgende
Fehlerdarstellung:
f (n+1) (ξ)
En [f ](x⋆ ) := f (x⋆ ) − pn (x⋆ ) = ωn+1 (x⋆ ) , (3.11)
(n + 1)!
mit einer (von x⋆ stetig abhängigen) Zwischenstelle ξ ∈ [x0 , xn ] und dem Knotenpolynom
Beweis. Für x⋆ = xi gilt En [f ](xi ) = 0. Sei nun x⋆ 6= xi . Definiere für x ∈ I := [x0 , xn ] die
Funktion
g(x) := En [f ](x) − ωn+1 (x) En [f ](x⋆ ) ωn+1 (x⋆ ) . (3.13)
Wegen f ∈ C n+1 (I) und ωn+1 ∈ Pn+1 gilt g ∈ C n+1 (I). Desweiteren besitzt g mindestens n + 2
verschiedene Nullstellen in I, 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 .
j
Also hat g ′ = dx
dg
mindestens n + 1 = n + 2 − 1 Nullstellen, und g (j) = dxd g
j hat mindestens n + 2 − j
(n+1)
Nullstellen für j = 1, . . . , n + 1. Also hat g mindestens 1 Nullstelle. Sei ξ diese Nullstelle.
dn+1
Sie hängt, wie g(x), von x⋆ ab, d.h. ξ = ξ(x⋆ ). Wegen dx n+1 pn ≡ 0 für alle pn ∈ Pn gilt für den
(n+1)
Interpolationsfehler En [f ](x) = f (x) − pn (x) die Beziehung En [f ](x) = f (n+1) (x). Wegen
(n+1)
ωn+1 (x) ≡ (n + 1)! folgt aus (3.13)
0 = g (n+1) (ξ) = f (n+1) (ξ) − (n + 1)! En [f ](x⋆ ) ωn+1 (x⋆ ) .
Für die naive Auswertung des Interpolationspolynoms pn (x) in der Lagrange-Darstellung (3.9)
sind pro Auswertung O(n2 ) flops notwendig. Dieser Aufwand kann verringert werden, wenn
vorher die folgenden Grössen berechnet werden:
1
λj = , j = 0, . . . , n.
(xj − x0 ) · · · (xj − xj−1 )(xj − xj+1 ) · · · (xj − xn )
wobei ωn+1 (x) ∈ Pn+1 das Knotenpolynom zu den {x0 , x1 , ..., xn } wie in (3.12) definiert ist. Es
folgt die baryzentrische Darstellung des Lagrange’schen Interpolationspolynoms,
n
X Xn
λj yj
pn (x) = yj ℓj (x) = ωn+1 (x) . (3.14)
j=0 j=0
x − xj
Pro Auswertung werden also nur noch O(n) Operationen benötigt. Die Formel (3.14) lässt sich
noch vereinfachen. Betrachten wir die Interpolation für yj ≡ 1, so gilt pn ≡ 1 (warum?) und (3.14)
3.3. Neville’s Schema Version 25. März 2019 81
P
n
λj yj
x−xj
j=0
pn (x) = Pn .
λj
x−xj
j=0
Beispiel Sei x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6 und yj = cos(xj ). Für die Parameter der
baryzentrischen Interpolationsformel ergibt sich
1
λ0 = = −20.8333,
(x0 − x1 )(x0 − x2 )(x0 − x3 )
1
λ1 = = 62.5000,
(x1 − x0 )(x1 − x2 )(x1 − x3 )
1
λ2 = = −62.5000,
(x2 − x0 )(x2 − x1 )(x2 − x3 )
1
λ3 = = 20.8333.
(x3 − x0 )(x3 − x1 )(x3 − x2 )
−2
10
1
lagrangecos.eps −4 errcos.eps
10
54 × 40 mm 54 × 40 mm
0.5
−6
10
−8
0 10
0 0.5 1 1.5 0 0.5 1 1.5
Satz 3.7 (Aitken-Neville) Seien Datenpunkte (xi , yi ), i = 0, . . . , n gegeben mit paarweise ver-
schiedenen xj . Sei die Familie von Polynomen Pik (x) ∈ Pk gegeben durch
und, allgemeiner,
Pi1 (xi ) = yi , Pi1 (xi+1 ) = yi+1 , i = 0, . . . , n − 1.
Per Induktion nach k gilt für Pik (x) ∈ Pk , k = 1, . . . , n,
Pik (xj ) = yj , j = i, . . . , i + k, i = 0, . . . , n − k
Aus der Rekursionsformel von Satz (3.7) folgt sofort ein Algorithmus, das sogenannte Aitken-
Neville Schema, zur Berechnung von pn (x).
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)
3.4. Newton-Interpolation Version 25. März 2019 83
Beispiel Sei x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6 und yj = cos(xj ). Neville’s Schema zur
Auswertung an der Stelle x = π/4:
0 1.0000
0.9217
0.2 0.9801 0.6972
0.8074 0.7059
0.4 0.9211 0.7038
0.7366
0.6 0.8253
3.4 Newton-Interpolation
Seien wieder (xi , yi ), i = 0, . . . , n mit paarweise verschiedenen xi gegeben und es sei pn ∈ Pn
das zugehörige eindeutige interpolierende Polynom vom Grad höchstens gleich n ≥ 1. Weiterhin
bezeichne pn−1 ∈ Pn−1 das in (xi , yi ), i = 0, . . . , n − 1 interpolierende Polynom vom Grad n − 1.
Wie bei Neville-Aitken wollen wir von pn−1 auf pn schliessen. Wir verwenden den Ansatz:
pn (x) = pn−1 (x) + qn (x), qn (x) ∈ Pn . (3.17)
Dann gilt
qn (xi ) = pn (xi ) − pn−1 (xi ) = yi − yi = 0, i = 0, . . . , n − 1.
Damit ist qn bis auf ein skalares Vielfaches eindeutig bestimmt; es gibt ein an ∈ R, so dass
qn (x) = an (x − x0 )(x − x1 ) . . . (x − xn−1 ) = an ωn (x). (3.18)
Aus der verbleibenden Interpolationsbedingung pn (xn ) = yn erhält man
pn−1 (xn ) + an ωn (xn ) = yn ⇐⇒ an = yn − pn−1 (xn ) /ωn (xn ) . (3.19)
für i < j. Dann bezeichnet f [x0 , . . . , xk ] mit 0 ≤ k ≤ n die k-te dividierte Differenz zu
(xi , yi ), i = 0, . . . , n.
Lemma 3.9 Für n ≥ 1 sei an wie in (3.19) definiert. Dann gilt an = f [x0 , . . . , xn ].
Beweis. Sei die Behauptung für n − 1 Stützstellen erfüllt. Dann gilt einerseits
pn−1 (x) = p̃n−2 (x) + f [x0 , . . . , xn−1 ](x − x1 ) · · · (x − xn−1 ),
wobei p̃n−2 (x) ∈ Pn−2 das in x1 , . . . , xn−1 interpolierende Polynom bezeichnet.13 Auf der anderen
Seite gilt auch
p̃n−1 (x) = p̃n−2 (x) + f [x1 , . . . , xn ](x − x1 ) · · · (x − xn−1 ),
13 An dieser Stelle wird f [x1 , . . . , xn−1 , x0 ] = f [x0 , x1 , . . . , xn−1 ] verwendet (Beweis Übung).
84 Version 25. März 2019 Kapitel 3. Polynominterpolation
wobei p̃n−1 (x) ∈ Pn−1 das in x1 , . . . , xn interpolierende Polynom bezeichnet. Als Spezialfälle für
x = xn folgen
n
X
pn (x) = f [x0 , . . . , xk ]ωk (x), (3.22)
k=0
mit der Konvention ω0 (x) ≡ 1. Es lässt sich ganz analog ein Horner-Schema entwickeln, das (3.22)
in O(n) flops pro Stützstelle auswertet.
Die dividierten Differenzen lassen sich (ähnlich wie bei dem Neville-Schema) rekursiv mit einem
Tableau, dem sogenannten dividierten Differenzenschema, berechnen:
x0 f [x0 ]
> f [x0 , x1 ]
x1 f [x1 ] > f [x0 , x1 , x2 ]
> f [x1 , x2 ] > f [x0 , x1 , x2 , x3 ]
x2 f [x2 ] > f [x1 , x2 , x3 ]
> f [x2 , x3 ]
x3 f [x3 ]
Dabei wird das Tableau, Spalte für Spalte, von links nach rechts mittels der Rekursion (3.20)
aufgebaut.
3.4. Newton-Interpolation Version 25. März 2019 85
⋄
Mit den dividierten Differenzen lässt sich eine weitere Darstellung des Interpolationsfehlers
in einer Stelle x⋆ finden. Sei dazu pn das in x0 , . . . , xn interpolierende Polynom. Um den Fehler
in x⋆ 6= xj zu bestimmen, interpolieren wir die Fehlerfunktion E(x) = f (x) − pn (x) an den
Stützstellen x0 , . . . , xn , x⋆ . Das entsprechende Polynom pen+1 (x) ∈ Pn+1 hat die Darstellung
hX
n i
pen+1 (x) = E[x0 , . . . , xk ]ωk (x) + E[x0 , . . . , xn , x⋆ ]ωn+1 (x).
k=0
Im zweiten Schritt wurde benutzt, dass die (n + 1)-te dividierte Differenz eines Polynoms vom
Grad höchstens n immer verschwindet. Da pen+1 (x⋆ ) = E(x⋆ ) ergibt sich mit (3.23) die folgende
Fehlerdarstellung.
Aus einem Vergleich der Aussagen von Lemma 3.11 mit der Restglieddarstellung (3.11) erhält
man
Korollar 3.12 Seien x0 < x1 < ... < xn und sei f ∈ C n+1 ([x0 , xn ]). Dann existiert für alle
x⋆ ∈ [x0 , xn ] ein ξ ∈ (x0 , xn ) derart, dass
f (n+1) (ξ)
f [x0 , . . . , xn , x⋆ ] = .
(n + 1)!
86 Version 25. März 2019 Kapitel 3. Polynominterpolation
3.5 Hermite-Interpolation
Bei der Hermite-Interpolation14 können zusätzlich zu den Funktionswerten von pn noch Ablei-
tungen an den Stützstellen vorgegeben werden. Natürlich muss sich dann der Grad des Polynoms
entsprechend erhöhen. Dazu führen wir folgende praktische Notation ein. Wir lassen zu, dass in
der Folge der Stützstellen
x0 ≤ x1 ≤ x2 ≤ · · · ≤ xn (3.24)
Werte mehrfach auftreten. Sind an einer Stützstelle xi der Funktionswert yi = f (xi ) und die
Ableitungen f ′ (xi ), . . . , f (di ) (xi ) bis zu einem Grad di ≥ 0 gegeben, so soll xi in der Folge (3.24)
genau (di + 1)-mal wiederholt werden. Wir sagen, die Stützstelle xi hat den Grad di ≥ 0.
Ist mindestens eines der di > 0, so enthält (3.24) höchstens m < n paarwise verschiedene
Stützstellen, die wir mit x̂0 < x̂1 < ... < x̂m bezeichnen; es seien weiter di ≥ 0 der Grad von x̂i .
Damit definieren wir die linearen Abbildungen
µij : C n ([t0 , tn ]) → R, µij (f ) = f (j) (x̂i ), j = 0, 1, ..., di , i = 0, ..., m ,
und die Hermite-Interpolationsaufgabe
P lautetPformal wie folgt:
finde pn in Pn mit n = m (d
i=0 i + 1) = m+ m i=0 di so, dass
Satz 3.13 Zu jeder Funktion f ∈ C n ([t0 , tn ]) und jeder Folge x̂0 < x̂1 < x̂2 < · · · < x̂m mit
t0 < x̂0 ≤ x̂m < tn und mit di ≥ 0 für i = 0, 1, ..., m gibt es genau ein Polynom pn ∈ Pn ,
n = m + d0 + d1 + .. + dm , so dass (3.25) erfüllt ist.
Die Idee der Newton-Interpolation lässt sich auf einfache Weise auf die Hermite-Interpolation
verallgemeinern. Mit der mehrfachen Zählung der Stützstellen in (3.24), wählt man als Basis-
Funktionen wieder
ωj (x) = (x − x0 )(x − x1 ) · · · (x − xj−1 ), j = 1, . . . , n ,
ergänzt durch die Konventionen f [xj ] := f (xj ) und ω0 (x) ≡ 1. Damit stellt man pn dar als
n
X
pn (x) = f [x0 , x1 , . . . , xj ]ωj (x).
j=0
Hierbei muss aber die Definition der dividierten Differenz f [xi , . . . , xj ] erweitert werden. Gilt
xi 6= xj , so ist f [xi , . . . , xj ] im Sinne von Definition 3.8 zu verstehen. Gilt allerdings xi = xi+1 =
· · · = xj , so setzen wir
f (j−i) (xi )
f [xi , . . . , xj ] = (3.26)
(j − i)!
14 Wikipedia “Hermite-interpolation”
3.6. Approximation und Kondition der Lagrange-Interpolation Version 25. März 2019 87
Im dividierte Differenzenschema wird einfach an den entsprechenden Stellen die Ableitung geteilt
durch (j − i)! eingetragen.
Bemerkung 3.14 Für den Spezialfall x0 = · · · = xn , d0 = n entartet das Hermite-Inter-
polationspolynom wegen (3.26) zu einer abgebrochenen Taylor-Reihe um x = x0 :
n
X f (j) (x0 )
pn (x) = (x − x0 )j .
j=0
j!
p4 (x) = f [0] + f [0, 1/2] x + f [0, 1/2, 1/2] x(x − 1/2) + f [0, 1/2, 1/2, 1/2] x(x − 1/2)2
+f [0, 1/2, 1/2, 1/2, 1] x(x − 1/2)3 .
Die dividierten Differenzen ergeben sich aus der oberen Reihe des Schemas (vorgegebene Daten
sind fettgedruckt):
0 1
> 1
1/2 3/2 > −1
> 1/2 > 2
1/2 3/2 > 0 > 4
> 1/2 > 6
1/2 3/2 > 3
> 2
1 5/2
Also gilt p4 (x) = 1 + x − x(x − 1/2) + 2x(x − 1/2)2 + 4x(x − 1/2)3 .
2.5
hermite.eps
54 × 40 mm
1.5
1
0 0.2 0.4 0.6 0.8 1
⋄
mit den in (3.2) definierten Lagrange-Polynomen ℓk (x). Wir abstrahieren nun von der bisherigen,
punktweisen (in x ∈ [a, b]) Sicht der Interpolation: mit I (n) bezeichnen wir die Abbildung der
Funktion f ∈ C 0 ([a, b]) auf das (eindeutig bestimmte) Interpolationspolynom pn ∈ Pn (pn (xi ) =
f (xi ) für i = 0, . . . , n):
I (n) : C 0 ([a, b]) → Pn , I (n) [f ] = pn . (3.28)
Der Interpolationsoperator I (n) ist eine lineare Abbildung vom Vektorraum (vgl. Abschnitt 0.1)
C 0 ([a, b]) mit a = x0 und b = xn in den Vektorraum Pn : es gilt für alle α, β ∈ R und alle
f, g ∈ C 0 ([a, b])
I (n) [αf + βg] = αI (n) [f ] + βI (n) [g] . (3.29)
Wir versehen den Vektorraum C 0 ([a, b]) mit der L∞ -Norm: jede auf dem abgeschlossenen, be-
schränkten Intervall [a, b] stetige Funktion nimmt ihr Maximum auf [a, b] an; mit f ∈ C 0 ([a, b])
ist auch die Funktion |f (x)| ∈ C 0 ([a, b]), so dass für f ∈ C 0 ([a, b]) der Ausdruck kf k∞ =
max{|f (x)| : x ∈ [a, b]} wohldefiniert ist. Man rechnet nach (Übung!), dass dieser Ausdruck auf
dem Vektorraum C 0 ([a, b]) die Normeigenschaften (N1), (N2) und (N3) in Definition 0.27 erfüllt.
Wir bemerken noch, dass die Notation identisch ist zur k ◦ k∞ Norm von Vektoren, vgl. (0.7); die
Bedeutung sollte aus dem Zusammenhang (Lineare Algebra oder Interpolation/ Approximation)
klar sein.
Wir messen den Interpolationsfehler in der L∞ -Norm auf [a, b]:
vorausgesetzt natürlich, dass zusätzlich f ∈ C n+1 ([a, b]) gilt. Ob kf − I (n) [f ]k∞ → 0 für n → ∞
gilt, hängt wesentlich vom Verhalten der Ableitungen f (n+1) ab.
Beispiel 3.16 Sei f (x) = sin x und [a, b] = [0, π]. Wähle äquidistante Stützstellen xj = jπ/n
für j = 0, . . . , n. Dann gilt wegen kf (n+1) k∞ = 1 und max0≤x≤π |x − jπ/n| ≤ π:
n n+1
1 Y jπ eπ n→∞
kf − I (n) [f ]k∞ ≤ max x− ≤ −→ 0 .
(n + 1)! x∈[0,π] j=0 n n+1
15
Hier wurden die sogenannten Stirling’schen Ungleichungen verwendet: für alle n ≥ 1 gilt
n!en n!en
√ ≤ nn ≤ √ . (3.31)
e n 2πn
Die folgende Abbildung zeigt den tatsächlichen Verlauf von kf − I (n) [f ]k∞ für n = 1, . . . , 14:
15 Es gilt die folgende Verfeinerung:
∀n ∈ N : (2π)1/2 nn+1/2 exp(−n + 1/(12n + 1)) < n! < (2π)1/2 nn+1/2 exp(−n + 1/(12n)) .
Siehe H. Robbins: A remark on Stirling’s formula, American Mathematical Monthly 62 (1955), 26-29.
3.6. Approximation und Kondition der Lagrange-Interpolation Version 25. März 2019 89
0
10
Approximationsfehler
−5
10
sininterp.eps
74 × 49 mm
−10
10
−15
10
0 2 4 6 8 10 12 14
n
Beispiel 3.17 (Runge) Sei f (x) = (1 + x2 )−1 und [a, b] = [−5, 5]. Wähle äquidistante Stütz-
stellen xj = −5 + 10
n j für j = 0, . . . , n. Die folgenden Abbildungen zeigen die interpolierenden
(n)
Polynome I [f ] für n = 2, 3, 4, 10, 15, 20.
1 10
f f
0.8 n=2 0 n = 10
n=3 n = 15
n=4 n = 20
0.6 −10
0.4 −20
runge1.eps runge2.eps
0.2 57 × 43 mm −30 57 × 43 mm
0 −40
−0.2 −50
−0.4 −60
−5 0 5 −5 0 5
Offenbar divergiert der Fehler an den Rändern des Intervalls! Das Phänomen erklärt sich aus
dem Wachstum der Ableitungen von f . ⋄
Beispiel 3.17 steht nur scheinbar im Widerspruch zum Satz von Weierstrass (vgl. Satz 3.20 unten),
der besagt, dass sich jede stetige Funktion f ∈ C 0 ([a, b]) beliebig genau gleichmässig durch ein
Polynom approximieren lässt. Formal ausgedrückt:
n→∞
inf kf − qk∞ −→ 0.
q∈Pn
Es stellt sich die Frage, wie weit die Polynominterpolation für eine gegebene Folge von Stützstellen
von dieser Bestapproximation entfernt ist. Dazu betrachten wir im folgenden die Kondition
der Polynominterpolation. Für eine “kleine” Störung δ ∈ C 0 ([a, b]) der zu interpolierenden
Funktion f betrachten wir die Änderung im Interpolationspolynom: für fˆ = f + δ gilt, aufgrund
der Linearität (3.29) des Interpolationsoperators:
Xn
kI (n) [fˆ] − I (n) [f ]k∞ = kI (n) [δ]k∞ =
δ(xk )ℓk (x)
∞
k=0
Xn
≤ max |δ(xk )|
|ℓk (x)|
0≤k≤n ∞
k=0
Xn
≤ kδk∞
|ℓk (x)|
. (3.32)
∞
k=0
90 Version 25. März 2019 Kapitel 3. Polynominterpolation
Die Störung δ im “Input” f kann also bei der Polynominterpolation höchstens durch den Faktor
Xn
|ℓk (x)|
verstärkt werden. Dies motiviert die folgende Definition.
∞
k=0
Definition 3.18 Seien a = x0 < x1 < · · · < xn = b Stützstellen und lj (x) ∈ Pn die entspre-
chenden Lagrange-Polynome. Dann heisst
Xn
Λn = Λn ({x0 , . . . , xn }) :=
|ℓk (x)|
(3.33)
∞
k=0
Wegen (3.32) ist die Lebesgue-Konstante16 ein Mass für die absolute Kondition der Polyno-
minterpolation an den Stützstellen {x0 , . . . , xn }. Darüber hinaus ist sie auch ein Mass für die
grösstmögliche Entfernung der Polynominterpolation von der Bestapproximation der Funktion
f aus Pn .
Satz 3.19 Es gilt für a = x0 < x1 < x2 < · · · < xn = b die Quasioptimalität
Beweis. Dies ist eine direkte Folgerung aus (3.32): für q ∈ Pn beliebig gilt
kf − I (n) [f ]k∞ = kf − q + q − I (n) [f ]k∞
= k(f − q) − I (n) [f − q]k∞
≤ kf − qk∞ + kI (n) [f − q]k∞
X n
≤ kf − qk∞ +
|ℓj (x)|
kf − qk∞
∞
j=0
= (1 + Λn ) kf − qk∞ .
Da q ∈ Pn beliebiges Polynom war, können wir in der oberen Schranke das Infimum bilden.
3.7 Bestapproximation
Wesentlich treten in der Fehlerabschätzung (3.30) neben der Stützstellenverteilung hohe Ablei-
tungen der interpolierten
√ Funktion f auf. Deshalb ist (3.30) z.B. nicht auf die Approximation
der Funktion f (x) = x im Intervall [0, 1] anwendbar.
Andererseits lässt der klassische Satz von Weierstraß17 hoffen, dass man auch mit geringen
Differenzierbarkeitsannahmen an die zu interpolierende Funktion f auskommen kann: jede nur
stetige Funktion (und es existieren stetige,
P∞ nirgends differenzierbare Funktionen; z.B. das (auf
Weierstrass zurückgehende) Beispiel k=0 2−k cos(3k x) auf dem Intervall [−1, 1]) kann beliebig
genau gleichmässig mit Polynomen approximiert werden:
Satz 3.20 (Weierstraß) Sei f ∈ C 0 ([−1, 1]). Dann existiert für jedes ε > 0 ein n ∈ N und ein
Polynom πn ∈ Pn mit
kf − πn k∞ ≤ ε .
Beweis. Der Beweis kann in den meisten Lehrbüchern der Analysis gefunden werden. Wir werden
diesen Satz als Korollar des für die Numerik relevanteren, stärkeren Satzes von Jackson folgern
(vgl. Satz 3.23).
Die Dichtheitsaussage des Weierstraßschen Approximationssatzes legt die Frage nahe, wie
klein der Bestapproximationsfehler
inf kf − vk∞ (3.35)
v∈Pn
Satz 3.21 Für alle f ∈ C 0 ([a, b]) existiert mindestens ein pn ∈ Pn derart, dass
Der Beweis dieser Aussage sei hier nur skizziert: gemäss der Definition des Infimums existiert eine
Folge {qj }j≥1 ⊂ Pn derart, dass für j → ∞ gilt kf − qj k∞ → inf q∈Pn kf − qk∞ . Die Folge {qj }j≥1
ist beschränkt im Vektorraum Pn , versehen mit der k ◦ k∞ Norm. Da Pn endlichdimensional
ist (vgl. Beispiel 0.2), enthält die Folge {qj }j≥1 eine Teilfolge {q̃j }j≥1 ⊂ {qj }j≥1 ⊂ Pn von
Polynomen vom Grad höchstens gleich n, die gegen ein pn ∈ Pn konvergiert (in der Norm
k ◦ k∞ ). Dieses pn erfüllt (3.36).
Wegen der Quasioptimalität (3.34) ist der Interpolationsfehler bis auf die Lebesguekonstante
durch den Bestapproximationsfehler (3.35) beschränkt. Scharfe Abschätzungen des Bestapproxi-
mationfehlers (3.35) für stetige Funktionen gehen auf Jackson zurück.
Um die
p Glattheit von stetigen, aber nicht stetig differenzierbaren Funktionen wie z.B. von
f (x) = |x| auf [a, b] = [−1, 1] präzise zu fassen, wurde der Stetigkeitsmodul eingeführt.
Definition 3.22 (Stetigkeitsmodul) Sei −∞ < a < b < ∞ und sei f ∈ C 0 ([a, b]). Der
Stetigkeitsmodul von f ∈ C 0 ([a, b]) zur Schrittweite h > 0 ist definiert durch
Man verifiziert leicht, dass für f (x) = |x|α mit 0 < α ≤ 1 auf dem Intervall [−1, 1] gilt
ω(|x|α ; δ) ≤ C(α)δ α (Übung. Was ist der beste Wert für C?). Die folgenden Eigenschaften des
Stetigkeitsmoduls folgen direkt aus der Definition.
(ω1) für f ∈ C 0 ([a, b]) ist die Funktion h 7→ ω(f ; h) von h ∈ R+ nichtnegativ, monoton wachsend
und subadditiv, d.h.
(ω2) für n ∈ N: ω(f ; nh) ≤ nω(f ; h) und für λ > 0: ω(f ; λh) ≤ (1 + λ)ω(f ; h),
(ω3) für f ∈ C 0 ([a, b]) ist h 7→ ω(f ; h) stetige Funktion von h > 0, für die der (rechtsseitige)
Grenzwert bei h = 0 existiert: limh↓0 ω(f ; h) = 0,
(ω4) für f ∈ C 1 ([a, b]) ist
ω(f ; h) ≤ hkf ′ k∞ . (3.37)
Satz 3.23 (Jackson) Sei −∞ < a < b < ∞ und sei f ∈ C 0 ([a, b]). Dann existiert eine
Konstante CJ > 0 (die unabhängig von f , a, b und n ist) derart, dass für alle n ∈ N gilt
Beweis. ⋆ Siehe z.B. [6, Theorem 13.3.7], wo auch der Wert von CJ scharf abgeschätzt wird.
Der Vollständigkeit halber geben wir hier einen vereinfachten Beweis.
i) Die Substitution t = (x − a)/(b − a) erlaubt es, o.b.d.A. nur den Fall a = 0, b = 1 und
f ∈ C 0 ([0, 1]) zu betrachten.
ii) Betrachten wir zunächst den Fall n = 2p gerade, und setzen
4
sin (p+1)s p
X !4
1 2
= 1 (p − 2i)s
jn (s) = cos ,
αn sin 2s αn i=0
2
Rπ
wobei die Konstante αn so gewählt ist, dass j (s)ds
−π n
= 1. Dann kann jn (s) in einer Cosinus-
reihe dargestellt werden, d.h.
iii) Wir setzen g(t) := f (| cos(t)|). Die so definierte Funktion g ist eine gerade, π-periodische
Funktion, die auf ganz R definiert ist. Darüberhinaus ist ω(g; h) ≤ ω(f ; h) da aus |t − t′ | ≤ h
folgt, dass | cos(t) − cos(t′ )| ≤ h.
iv) Wir führen eine weitere Funktion ϕn (s) ein durch
Z π Z π
ϕn (s) := g(t)jn (s − t)dt = g(s − t)jn (t)dt .
−π −π
Rv)π Mit der Ungleichung 2/π ≤ sin(x)/x ≤ 1 für x ∈ [0, π/2] erhält man die Abschätzung
0 tjn (t)dt ≤ C/n (Übung) woraus folgt, dass für alle n ∈ N und alle s ∈ [0, 1] gilt
vi) Da definitionsgemäss g(t) eine gerade Funktion ist, folgt aus dem Additionstheorem
Z π Z π Z π
g(t) cos(k(s − t))dt = cos(ks) g(t) cos(kt)dt + sin(ks) g(t) sin(kt)dt
−π Z−π
π
−π
Damit folgt aus (3.38) sowie der Definition der Funktion ϕn die Existenz eines Polynoms pn ∈ Pn
derart, dass für alle s ∈ R gilt ϕn (s) = pn (cos(s)). Für dieses pn gilt
und aus
1 1
ω(f ; ) ≤ 2ω(f ; )
n n+1
die aus der Eigenschaft (ω2) folgt. Damit ist Abschätzung des Satzes für a = 0 und für b = 1
bewiesen.
viii) Der Beweis des allgemeinen Falls folgt durch de-skalierung, d.h. Rücksubstitution x = a +
t(b − a) in der Abschätzung für das Intervall [0, 1].
Wir bemerken, dass aus dem Jackson’schen Satz 3.23 sowie der Eigenschaft (ω3) der Satz 3.20
von Weierstrass folgt.
Mit (3.37) erhält man für stetig differenzierbare Funktionen f eine Abschätzung aus Satz 3.23,
die etwas einfacher ist:
1
min kf − vk∞ ≤ CJ kf ′ k∞ .
v∈Pn n
Eine Verallgemeinerung dieser Aussage liefert das folgende Korollar:
94 Version 25. März 2019 Kapitel 3. Polynominterpolation
Korollar 3.24 Sei r ∈ N. Es existiert eine Konstante Cr > 0, die nur von r abhängt, so dass
für jedes f ∈ C r ([−1, 1]) gilt
Hier und im folgenden ist für abgeschlossene Mengen A ⊂ R und r ∈ N0 definiert: C r (A) :=
{f | ∃F ∈ C r (R) mit F |A = f }.
Beweis. Die Beweisidee besteht darin, Theorem 3.23 wiederholt anzuwenden. Sei u ∈ Pn belie-
big. Es folgt dann aus Theorem 3.23 und (3.37), dass
Da u ∈ Pn , folgt
min kf − wk∞ ≤ CJ n−1 kf ′ − u′ k∞ .
w∈Pn
3.8 Tschebyscheff-Interpolation
Im folgenden werden wir Folgen von Stützstellen konstruieren, die wesentlich niedrigere Lebesgue-
Konstanten als äquidistante Stützstellen nach sich ziehen. Den Einfluss der Stützstellen in
den Approximationsfehler lässt sich am einfachsten in Abschätzung (3.30) quantifizieren. Ei-
ne Möglichkeit (jedoch nicht die einzige) ist, die Stützstellen x0 , x1 , ..., xn ∈ [a, b] so zu wählen,
dass das Maximum des Knotenpolynoms (3.12)
minimiert wird:
min{kωn+1 k∞ : a ≤ x0 < x1 < ... < xn ≤ b}. (3.39)
3.8. Tschebyscheff-Interpolation Version 25. März 2019 95
Es wird sich zeigen, dass die Nullstellen der im folgenden eingeführten Tschebyscheff-Polynome
kωn+1 k∞ minimieren.
Ohne Beschränkung der Allgemeinheit (warum?) führen wir alle Abschätzungen auf dem Inter-
vall [a, b] mittels einer affinen Abbildung auf das Standard- oder Referenzintervall [−1, 1] zurück:
2x − a − b
t : [a, b] → [−1, 1], t : x 7→ x̃ = .
b−a
Deren Umkehrabbildung hat die Form
1 − x̃ 1 + x̃
t−1 : [−1, 1] → [a, b], t−1 : x̃ 7→ x = a+ b. (3.40)
2 2
Die Minimierungsaufgabe (3.39) hat eine Lösung, die sogenannten Tschebyscheffpunkte18 .
Definition 3.25 (Tschebyscheffpunkte) Für jedes n ∈ N0 heissen die n + 1 Punkte
(n+1) 2i + 1
xi = cos π , i = 0, . . . , n, (3.41)
2n + 2
Für den Beweis dieses Satzes führen wir die Tschebyscheff-Polynome Tk (x) ein.
Definition 3.27 Seien T0 (x) = 1 und T1 (x) = x. Dann ist das k-te Tschebyscheff-Polynom
Tk (x) rekursiv definiert als
1.5 20
1
15
0.5
0 tscheb.eps 10 tscheb2.eps
57 × 43 mm 57 × 43 mm
−0.5 T0
T1 5
−1 T2
T3
T4
−1.5 0
−1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1
3. Tn ist eine gerade Funktion, falls n gerade, und eine ungerade Funktion, falls n ungerade.
6. Für n ≥ 1 nimmt |Tn (x)| den (extremalen) Wert20 1 in [−1, 1] genau an den n+1 Clenshaw-
Curtis Punkten
x̄nj := cos(jπ/n) für j = 0, . . . , n an . (3.43)
7. Die n Nullstellen von Tn (x) sind explizit gegeben durch die Tschebyscheffpunkte
(n) 2j − 1
xj = cos π , j = 1, . . . , n . (3.44)
2n
Man überzeugt sich leicht dass die Definition (3.44) mit (3.41) übereinstimmt.
Der folgende Satz ist eine andere Fassung der Aussage von Satz 3.26 über die für uns wichtigste
Eigenschaft der Tschebyscheff-Polynome.
Satz 3.29 Das Tschebyscheff-Polynom Tn hat minimale L∞ -Norm auf dem Intervall [−1, 1]
unter allen Polynomen vom Grad n mit höchstem Koeffizienten an = 2n−1 .
Beweis. Der Beweis erfolgt über Widerspruch. Sei pn ∈ Pn ein Polynom mit höchstem Koef-
fizienten an = 2n−1 und nehmen wir an, dass kpn k∞ < kTn k∞ = 1 gilt. Dann ist Tn − pn ein
Polynom vom Grad höchstens n − 1. Wegen Lemma 3.28 gilt an den Punkten x̄j = cos(jπ/n):
Damit ist Tn − pn an den n + 1 Punkten x̄j , j = 0, . . . , n, abwechselnd positiv und negativ, und
hat daher mindestens n Nullstellen in [−1, 1]. Dies ist ein Widerspruch, da der Grad von Tn − pn
höchstens n − 1 ist.
Als Korollar von Satz 3.29 folgt, dass die Nullstellen x0 , . . . , xn des (n + 1)-ten Tschebyscheff-
Polynoms Tn+1 das Maximum des Knotenpolynoms, also den Ausdruck
kωn+1 k∞ = max |(x − x0 )(x − x1 ) · · · (x − xn )|
x∈[−1,1]
minimieren. Für ein allgemeines Intervall [a, b] sind die Stützstellen mittels der in (3.40) definier-
ten Abbildung t−1 zu transformieren.
2 −1
Beispiel 3.30 (Fortsetzung von Beispiel 3.17) Sei f (x) = (1 + x ) und [a, b] = [−5, 5].
2j+1
Wähle als Stützstellen xj = 5 cos 2n+2 π mit j = 0, . . . , n. Die folgenden Abbildungen zeigen
die interpolierenden Polynome I (n) [f ] für n = 4, 10, 20 sowie den Fehler kf − I (n) [f ]k∞ für
n = 2, . . . , 50.
0
1.2 10
f
1 n=4
−1
n = 15 10
n = 20
0.8
−2
10
0.6
runge3.eps runge4.eps
0.4 57 × 43 mm −3 57 × 43 mm
10
0.2
−4
10
0
−5
−0.2 10
−5 0 5 10 20 30 40 50
Beweis. ⋆ Die Hauptidee beim Beweis ist die Beobachtung, dass die Koordinatentransfor-
mation x = cos(φ) das Intervall [−1, 1] bijektiv auf [0, π] abbildet, und die Bilder φnj der
Clenshaw-Curtis Punkte (3.43) unter dieser Abbildung äquidistant in [0, π] liegen. Die Lagrange-
Interpolationspolynome transformieren sich gemäss
sin(nφ) φ − φnj φ + φnj
ℓj (cos φ) = cot + cot , j = 1, ..., n − 1 ,
2n 2 2
und
sin(nφ) φ sin(nφ) φ−π
ℓ0 (cos(φ)) = cot( ) , ℓn (cos(φ)) = cot( ).
2n 2 2n 2
Mit der Definition φnj = jπ/n für j ≥ n gilt
φ + φnj φ − φn2n−j φ + φnj π − φn2n−j
cot = cot , da =π+ .
2 2 2 2
Für j = 1, 2, ..., n − 1 ist 2n − j = n + 1, ..., 2n − 1 und wir können das Knotenpolynom der
Clenshaw-Curtis Punkte abschätzen durch
X
sin(nφ) 2n−1 φ − φnj
|ωn (cos(φ))| ≤ µn (φ) := cot .
2n j=1 2
Die Funktion µn ist periodisch mit Periode π/n und hat Nullstellen an den Intervallenden von
[φnk , φnk+1 ]. Daher nimmt µn sein Maximum in den Intervallen [φnk , φnk+1 ] an. Offensichtlich gilt
µn (φ) = µn (2π − φ) .
Weiterhin ist µn (·) symmetrisch bezüglich der Intervallmittelpunkte, so dass die Maxima von µn
gerade die Mittelpunkte der Intervalle [φnk , φnk+1 ] sind. Also gilt
2n−1
π 1 X 2j − 1 2
kωn k∞ ≤ µn ( ) = cot π ≤ log(n − 1) + 4 .
2n 2n j=1 4n π
Schärfere Aussagen zum Wachstum der Lebesgue-Konstanten machen die folgenden Sätze 3.32, 3.33
die wir ohne Beweis angeben.
Satz 3.32 Seien die Stützstellen xi , i = 0, . . . , n gleichmässig auf I = [−1, 1] verteilt, d.h.
i
xi = −1 + 2 , i = 0, . . . , n.
n
3.9. Spline-Interpolation Version 25. März 2019 99
Dann gibt es eine Konstante C > 0, so dass für die Lebesgue-Konstante Λn gilt: für alle n ≥ 1
Λn ≥ Cen/2 .
Fuer den Beweis siehe man z.B. [16, 3]. Das asymptotische Verhalten von Λn wurde 1940 von
Turetskij genauer bestimmt.
Die (In)stabilität der Tschebyscheffpunkte wird durch folgendes Resultat quantifizert.
(n+1)
Satz 3.33 Seien die Stützstellen xi , i = 0, . . . , n, die n + 1 Tschebyscheffpunkte (xi )ni=0
(n+1) (n+1) (n+1)
aus (3.41) in [−1, 1]. Dann gilt für die Lebesgue-Konstante Λn ({x0 , x1 , ..., xn }) die
Schranke
2 2 8 (n+1) (n+1) 2
ln(n + 1) + log + γ < Λn ({x0 , x1 , ..., x(n+1)
n }) ≤ ln(n + 1) + 1 . (3.45)
π π π π
Hier ist γ = 0.577... die sog. Euler-Mascheroni Konstante. Logarithmisches Wachstum der
Lebesgue-Konstante für Tschebyscheffpunkte ist klassisch ([1] und die Monographie [14]). Die
Abschätzung (3.45) geht auf Rivlin ([17, Thm. 1.2]) zurück.
3.9 Spline-Interpolation
Trotz der durch die Tschebyscheff-Interpolation erzielten Verbesserung der Approximationsei-
genschaft, bleibt die Approximation einer Funktion f : [a, b] → R durch Polynome hohen Grades
aus verschiedenen Gründen problematisch:
Mit einer einfachen Idee lassen sich diese Probleme vermeiden: anstatt den Polynomgrad zu
erhöhen unterteilt man das Intervall [a, b] in viele Teilintervalle und interpoliert auf jedem Teil-
intervall. Ganz so einfach ist die Vorgehensweise leider nicht; man würde Funktionen erhalten,
deren Ableitungen an den Anschlusstellen unstetig sind. Diese Unstetigkeiten in der Ableitung,
wie sie z.B. bei stückweise linearer Interpolation auftritt (siehe Abb. 3.2), sind bei vielen An-
wendungen äusserst störend. Die Grundidee der Spline-Interpolation besteht nun darin, auf
jedem Teilintervall ein Polynom zu verwenden, dessen Grad “unnötig” hoch ist. Die dadurch ge-
wonnenen Freiheiten werden wir – ähnlich wie bei der Hermite-Interpolation – dazu verwenden,
eine gewisse Differenzierbarkeit an den Stützstellen zu erzwingen.
100 Version 25. März 2019 Kapitel 3. Polynominterpolation
x0
x1 x2 x3 x4 x5
Vorerst werden wir nur ein Teilintervall [xj−1 , xj ] mit xj−1 < xj betrachten und ein Polynom
sj suchen, so dass
für vorgegebene yj−1 , yj , cj−1 , cj ∈ R erfüllt ist. Aus Abschnitt 3.5 zur Hermite-Interpolation
wissen wir bereits, dass es genau ein solches sj ∈ P3 gibt. Im Gegensatz zu Abschnitt 3.5 werden
wir eine Lagrange-ähnliche Darstellung von sj bevorzugen und die folgende Basis21 wählen:
1.2
1
xj −x x−xj−1
b1 (x) = φ hj b2 (x) = φ
hj 0.8
x −x x−xj−1 b1
b3 (x) = −hj ψ jhj b4 (x) = hj ψ hj
0.6
b2
b3
0.4
b4
mit 0.2
0
hj = xj − xj−1 , φ(ξ) = 3ξ 2 − 2ξ 3 , ψ(ξ) = ξ 3 − ξ 2 . −0.2
0 0.2 0.4 0.6 0.8 1
Die rechte Abbildung zeigt die 4 Basisfunktionen für xj−1 = 0, xj = 1. Es gilt offenbar
Also hat das Polynom sj ∈ P3 welches die Interpolationsbedingungen (3.46) erfüllt die Form
Wir betrachten jetzt eine Funktion s auf dem gesamten Intervall [a, b], die stückweise auf den
Teilintervallen wie folgt definiert wird:
s(x)[xj−1 ,xj ] = sj (x). (3.48)
21 Genau genommen hängen die b (x) auch noch vom Intervallindex j ab; diese Abhängigkeit führen wir nicht
i
explizit auf.
3.9. Spline-Interpolation Version 25. März 2019 101
Per Definition gilt s(x) ∈ C 1 ([a, b]). Nach Erfüllung der Interpolationsbedingungen s(xj ) = yj
stehen uns immer noch die n + 1 freien Parameter c0 , c1 , . . . , cn zur Verfügung. Diese werden wir
dazu benutzen, um s(x) ∈ C 2 ([a, b]) zu erzwingen:
Nun haben wir immer noch n + 1 − (n − 1) = 2 freie Parameter zur Verfügung, mit denen wir
zwei weitere Bedingungen an s stellen können.
Obige Vorbetrachtungen motivieren die folgende Definition.
Definition 3.35
a) s : [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 Grad höchstens 3.
b) s heisst interpolierender Spline zu den Stützwerten y0 , . . . , yn , wenn gilt s(xj ) = yj für
j = 0, 1, . . . , n.
c) s heisst vollständiger interpolierender Spline, falls neben a) und b) gilt: s′ (a) = c0 ,
s′ (b) = cn für vorgegebene c0 , cn .
d) 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.
e) s heisst natürlicher interpolierender Spline, wenn neben a) und b) gilt: s′′ (a) = s′′ (b) = 0.
Lemma 3.36 Die Bedingung (3.49) ist genau dann erfüllt, wenn
!
1 2 2 1 yj − yj−1 yj+1 − yj
cj−1 + + cj + cj+1 = 3 + (3.50)
hj hj hj+1 hj+1 h2j h2j+1
für j = 1, . . . , n − 1 gilt.
Beweis. Wir haben
xj − x xj − x
h2j b′′1 (x)=φ ′′
= 6 − 12 ,
hj hj
2 ′′ ′′ x − xj−1 x − xj−1
hj b2 (x) = φ = 6 − 12 ,
hj hj
xj − x xj − x
hj b′′3 (x) = −ψ ′′ = −6 + 2,
hj hj
x − xj−1 x − xj−1
hj b′′4 (x) = ψ ′′ =6 − 2,
hj hj
102 Version 25. März 2019 Kapitel 3. Polynominterpolation
6 6 2 4
s′′j (xj ) = 2 yj−1 − 2 yj + cj−1 + cj ,
hj hj hj hj
6 6 4 2
s′′j+1 (xj ) = − 2 yj + 2 yj+1 − cj − cj+1 .
hj+1 hj+1 hj+1 hj+1
Daraus folgt die Äquivalenz der Bedingung s′′j (xj ) = s′′j+1 (xj ) zu (3.50).
Für die Bestimmung von c0 , . . . , cn sind also die n − 1 Bedingungen (3.50) zu erfüllen. Zusätzlich
fügt man je nach Spline-Art noch die in Definiton 3.35 angegebenen zwei Bedingungen hinzu.
a) Vollständiger Spline. Hier sind c0 und cn vorgegeben und man erhält für c1 , . . . , cn−1
das (n − 1) × (n − 1) LGS
α1 β2 c1 d1 − h11 c0
β2 α2 β3
c2 d2
.. .. .
.
β3 . . . = . (3.51)
. .
.. ..
. . βn−1 cn−2 dn−2
1
βn−1 αn−1 cn−1 dn−1 − hn cn
mit !
2 2 1 yj − yj−1 yj+1 − yj
αj = + , βj = , dj = 3 2 + . (3.52)
hj hj+1 hj hj h2j+1
c) Natürlicher Spline. Bei natürlichen Splines muss s′′1 (x0 ) = s′′n (xn ) = 0 erfüllt sein.
Daraus folgt das (n + 1) × (n + 1) LGS
α̃0 β1 c0 d˜0
β1 α1 β2
c1
d1
. .
β2 .. .. .
. = . . . (3.54)
. .
.
. . αn−1 βn n−1c dn−1
βn α̃n cn d˜n
gilt. Analog definiert man strikt spaltendiagonaldominante Matrizen. Eine Matrix heisst strikt
diagonal dominant, wenn sie sowohl strikt zeilen- als auch strikt spaltendiagonaldominant ist.
Satz 3.38 Eine strikt zeilendiagonaldominante Matrix ist regulär.
Beweis. Übung. Kann ‘strikt’ weggelassen werden?
Man sieht leicht ein, dass die Systemmatrizen in (3.51), (3.53) und (3.54) allesamt strikt zeilen-
diagonaldominant sind; und damit sind die LGS eindeutig lösbar. Mit der LR- bzw. Cholesky-
zerlegung für Bandmatrizen (siehe Abschnitt 2.7), kostet die Berechnung von c0 , . . . , cn nur O(n)
flops. Für (3.53) verwendet man die Sherman-Morrison-Formel (nachrechnen!)
A−1 u v T A−1
(A + u v T )−1 = A−1 − , (3.55)
1 + v T A−1 u
um die Lösung auf ein Tridiagonalsystem zurückzuführen.
Beispiel 3.39 Sei wieder f (x) = (1 + x2 )−1 und [a, b] = [−5, 5]. Wähle äquidistante Stützstellen
xj = 5 + 10 n j für j = 0, . . . , n. Die folgenden Abbildungen zeigen die vollständigen Splines für
n = 5, 7, 10, sowie den Verlauf des Fehlers in der L∞ -Norm im Vergleich zu n.
0
1 10
f
n=5
0.8 n=7
n = 10 −2
10
0.6
rungespline.eps rungespline2.eps
0.4
54 × 40 mm 54 × 40 mm
−4
10
0.2
−6
0 10 0 1 2
−5 0 5 10 10 10
104 Version 25. März 2019 Kapitel 3. Polynominterpolation
Satz 3.40 Sei f ∈ C 4 ([a, b]) und s der in den Stützstellen a, a+h, a+2h, · · · , b mit h = (b−a)/n
interpolierende vollständige Spline. Dann gilt
5 4 (4)
kf − sk∞ ≤ h kf k∞ .
384
3.10 Bézier-Techniken⋆
Ziel ist jetzt die Approximation (nicht die Interpolation!) einer Kurve durch stückweise Poly-
nome. Wie bereits oben erwähnt garantieren die Bernstein-Polynome gleichmässige Konvergenz
mit steigendem Polynomgrad.
Xn
j n j
pn (x) := f x (1 − x)n−j , 0 ≤ x ≤ 1. (3.56)
j=0
n j
Dann konvergiert pn gleichmässig gegen f für n → ∞. Wenn f ∈ C m ([0, 1]), dann konvergiert
(k)
pn gleichmässig gegen f (k) für n → ∞.
Im allgemeinen ist die Konvergenz der Polynome in (3.56) zu langsam, um für die numerische
Mathematik von Interesse zu sein. Allerdings haben diese Polynome gewisse formerhaltende
Eigenschaften und lassen sich schnell auswerten. Ihr Hauptanwendungsbereich liegt in der Com-
putergraphik.
1
0.9 i=0
t (1 − t)n−i i = 0, . . . , n.
0.5
bi,n (t) :=
n
i 0.4
0.3
0.1
0
0 0.2 0.4 0.6 0.8 1
t
Aus Lemma 3.43.3 folgt eine einfache Rekursion zur Auswertung von bi,n (t).
Matlab
function V = bernstein(n,x)
V = [ones(1,length(x));...
zeros(n,length(x))];
for j=1:n
for k=j+1:-1:2
V(k,:) = x.*V(k-1,:) + (1-x).*V(k,:);
end
V(1,:) = (1-x).*V(1,:);
end
Die Bernstein-Polynome eignen sich auch zur Beschreibung von Kurven im Rn . Wir führen hier
nur die Definition der sogenannten Bézier-Kurven an und verweisen auf die Literatur.22
Kontrollpunkte
Definition 3.44 (Bézier-Kurven) Die Bézier- 1 Bezierkurve
[0, 1] 7→ Rd y
Pn
γ: 0.4
t 7→ di bi,n (t).
i=0 0.2
−1 −0.5 0 0.5 1
x
22 Siehe zum Beispiel Abschnitt 8.7.1 in Quarteroni, Sacco, Saleri: Numerische Mathematik 2.
106 Version 25. März 2019 Kapitel 3. Polynominterpolation