View
3
Download
0
Category
Preview:
Citation preview
KAPITEL 9 Splinefunktionen
9.1 Splineräume und Approximationsgüte
Bei der Behandlung von Splines ist es bequemer, statt mit dem Grad
von Polynomen, mit der Ordnung k := Grad + 1 zu arbeiten.
Für eine Knotenmenge τ = {τ0, . . . , τℓ+1} mit
a = τ0 < τ1 < . . . < τℓ < τℓ+1 = b
und k ≥ 1 definieren wir den Splineraum der Splines der Ordnung k
durch
P1,τ = { f : [a, b) → R | f∣
∣
∣ [τi,τi+1)∈ Π0, 0 ≤ i ≤ ℓ } ,
Pk,τ = {f ∈ Ck−2([a, b]) | f∣
∣
∣ [τi,τi+1)∈ Πk−1, 0 ≤ i ≤ ℓ }, k ≥ 2.
Für k = 4 ergibt sich gerade der Raum der kubischen Splines.
Dahmen-Reusken Kapitel 9 1
Lemma 9.1. Es gilt:
dimPk,τ = k + ℓ .
Bemerkung 9.2. Fehlerschranke für eine beste Näherung im Spline-
raum Pk,τ . Sei
h = maxj=0,...,ℓ
(τj+1 − τj) und ‖g‖∞ = maxx∈[a,b]
|g(x)| ( g ∈ C([a, b]) ) .
Für jedes k ≥ 2 existiert eine positive Konstante c < ∞, so daß fürjedes m ≤ k und jede Funktion f ∈ Cm([a, b]) gilt
minSk∈Pk,τ
‖f − Sk‖∞ ≤ chm‖f(m)‖∞ .
Dieses Resultat kann für den Fall m = 0 verbessert werden: Sei f ∈C([a, b]) und k ≥ 1 beliebig, dann existiert für jedes ε > 0 ein h > 0, sodaß
minSk∈Pk,τ
‖f − Sk‖∞ ≤ ε .
Dahmen-Reusken Kapitel 9 2
Bemerkung 9.3.
Da jedes Polynom insbesondere ein stückweises Polynom ist, das zu-
dem sogar unendlich oft differenzierbar ist, gilt natürlich
Πk−1 ⊂ Pk,τ .
Außerdem sieht man leicht, daß
(τi − x)k−1+ ∈ Pk,τ , i = 1, . . . , ℓ,
wobei, für m ≥ 0,
xm+ =
{
xm für x > 0 ,0 für x ≤ 0 ,
die sogenannten abgebrochenen Potenzen sind.
Die k + ℓ Funktionen
xi, i = 0, . . . , k − 1, (τi − x)k−1+ , i = 1, . . . , ℓ,
sind linear unabhängig.
Diese Funktionen bilden also eine Basis für Pk,τ . △
Dahmen-Reusken Kapitel 9 3
9.1.1 B-Splines
Eine viel bessere Basis für Pk,τ bilden die sogenannten B-Splines.
Wir betrachten erst den Fall k = 1. Die charakteristischen Funktionen
Nj,1(x) := χ[τj,τj+1)(x) :=
{
1 für x ∈ [τj, τj+1) ,0 sonst,
j = 0, . . . , ℓ,
bilden eine Basis für P1,τ . Der Träger (”support“) der Funktion Nj,1
wird durch
suppNj,1 := {x ∈ R | Nj,1(x) 6= 0}
definiert. Die Basis Nj,1, 0 ≤ j ≤ ℓ, ist lokal.
S(x) =ℓ∑
j=0
cjNj,1(x)
läßt sich mit dem Koeffizientenvektor c = (cj)ℓj=0 identifizieren.
Es gilt
‖c‖∞ = ‖ℓ∑
j=0
cjNj,1‖∞.
Die Basis ist in diesem Sinne stabil.
Dahmen-Reusken Kapitel 9 4
Der Fall k = 2.
Es werden zwei Hilfsknoten τ−1 < τ0 = a, τℓ+2 > τℓ+1 = b und zu-
gehörige Hilfsfunktionen N−1,1, Nℓ+1,1 eingeführt:
N−1,1 := χ[τ−1,τ0), Nℓ+1,1 := χ[τℓ+1,τℓ+2).
Die Funktion
Nj,2(x) :=x − τj
τj+1 − τjNj,1(x) +
τj+2 − x
τj+2 − τj+1Nj+1,1(x) , j = −1, . . . , ℓ,
hat folgende Eigenschaften:
1) sie nimmt von Null verschiedene Werte nach Definition von Nj,1(x)
und Nj+1,1(x) nur auf dem Intervall [τj, τj+2] an;
2) auf jedem der Intervalle [τj, τj+1], [τj+1, τj+2] ist Nj,2(x) linear;
3) Nj,2(x) ist stetig.
Dahmen-Reusken Kapitel 9 5
Hutfunktionen Nj,2
-xa = τ0 τ1 τ2 τ3 = b
1
6
������XXXXXX���
���XXX
XXX������XXXXXX
N−1,2(x) N0,2(x) N1,2(x) N2,2(x)
Dahmen-Reusken Kapitel 9 6
Definition 9.4 (B-Splines). Sei t1 < t2 < . . . < tn eine beliebi-
ge Folge von paarweise verschiedenen Knoten. Dann werden die
B-Splines Nj,k der Ordnung k (1 ≤ k < n) rekursiv definiert durch
Nj,1(x) := χ[tj,tj+1)für j = 1, . . . , n − 1 ,
Nj,k(x) :=x − tj
tj+k−1 − tjNj,k−1(x) +
tj+k − x
tj+k − tj+1Nj+1,k−1(x),
für k = 2, . . . , n − 1, und j = 1, . . . , n − k.
Lemma 9.5. Für diese B-Splines Nj,k gilt:
(i) suppNj,k ⊂ [tj, tj+k],
(ii) Nj,k(x) > 0 für alle x ∈ (tj, tj+k),
(iii) (Nj,k)∣
∣
∣[ti,ti+1)∈ Πk−1,
(iv) Nj,k ∈ Ck−2([t1, tn]).
Dahmen-Reusken Kapitel 9 7
Für 1 ≤ j ≤ n − k: die dividierte Differenz [tj, . . . , tj+k](· − x)k−1+ ist
als führender Koeffizient des Lagrange-Interpolations-Polynoms der
Funktion fk−1(s) := (s−x)k−1+ an den Stützstellen tj, . . . , tj+k definiert.
Explizite Darstellung für die B-Splines:
Satz 9.6. Die B-Splines Nj,k haben folgende Darstellung:
Nj,k(x) = (tj+k − tj)[tj, . . . , tj+k](· − x)k−1+ ,
für 1 ≤ k < n, 1 ≤ j ≤ n − k .
Die dividierte Differenz wirkt auf das Argument · . Zum Beispiel:
[tj, tj+1](· − x)m+ =
[tj+1](· − x)m+ − [tj](· − x)
m+
tj+1 − tj
=(tj+1 − x)
m+ − (tj − x)
m+
tj+1 − tj.
Dahmen-Reusken Kapitel 9 8
Folgerung 9.8. Für k ≥ 3 gilt
N ′j,k(x) = (k − 1)
{
Nj,k−1(x)
tj+k−1 − tj−
Nj+1,k−1(x)
tj+k − tj+1
}
,
d.h., die Ableitungen von B-Splines sind gewichtete Differenzen
von B-Splines niedrigerer Ordnung.
Dahmen-Reusken Kapitel 9 9
9.1.2 B-Splines als Basis für den Splineraum
Ziel der bisherigen Überlegungen war, eine stabile Basis für Pk,τ zu
gewinnen. Sei Pk,τ der Splineraum wie in (9.1). Zur Knotenmenge
τ = {τ0, . . . , τℓ+1} mit a = τ0 < τ1 < . . . < τℓ < τℓ+1 = b definieren wir
eine erweiterte Knotenmenge T :
T = {t1, . . . , tn} mit n := 2k + ℓ,
t1 < . . . < tk = τ0,
tk+j = τj für j = 1, . . . , ℓ,
τℓ+1 = tk+ℓ+1 < . . . < t2k+ℓ .
Zu dieser erweiterten Knotenmenge T werden die B-Splines Nj,k,
1 ≤ j ≤ n − k = k + ℓ, wie in Definition 9.4 definiert.
Dahmen-Reusken Kapitel 9 10
Die Funktionswerte Nj,k(x) sind für alle x ∈ R definiert. Im Splineraum
Pk,τ sind nur die Werte Nj,k(x) mit x ∈ [a, b] von Interesse.
Wir definieren nun
Sk,T = span{Nj,k∣
∣
∣
[a,b]| 1 ≤ j ≤ k + ℓ }.
Folgendes Hauptresultat zeigt, daß die (auf [a, b] restringierten)
B-Splines Nj,k eine Basis für den Splineraum Pk,τ bilden.
Satz 9.9. Es gilt
Pk,τ = Sk,T .
Bemerkung 9.10. Die Definition von Sk,T ist unabhängig von der
Wahl der Hilfsknoten t1, . . . , tk−1 < a und tk+ℓ+2, . . . , t2k+ℓ > b.
Man läßt sie deshalb oft auf den jeweiligen Intervallenden a bzw. b
zusammenfallen.
Dahmen-Reusken Kapitel 9 11
Beispiel 9.11.
Wir betrachten [a, b] = [0,1], k = 4, l = 5, t1 = t2 = t3 = t4 =
0, t5 = 0.1, t6 = 0.3, t7 = 0.45, t8 = 0.65, t9 = 0.8, t10 = t11 =
t12 = t13 = 1. Für j = 2,3,4,5 werden die kubische B-Splines Nj,4unten abgebildet. △
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
j=2
j=3
j=4 j=5
Dahmen-Reusken Kapitel 9 12
9.1.3 Rechnen mit Linearkombinationen von B-Splines
Jeder Spline S ∈ Pk,τ hat eine eindeutige Darstellung
S(x) =k+ℓ∑
j=1
cjNj,k(x) , x ∈ [a, b].
Seien c1, . . . , ck+ℓ bekannt.
Hilfsgrößen für eine effiziente Auswertung von S:
c[p]j (x) =
cj, p = 0
x − tj
tj+k−p − tjc[p−1]j (x) +
tj+k−p − x
tj+k−p − tjc[p−1]j−1 (x) sonst.
Dahmen-Reusken Kapitel 9 13
Algorithmus 9.12 (Auswertung von S).
Gegeben: x ∈ [a, b] und c1, . . . , ck+ℓ aus der obigen Darstellung.
• Bestimme m mit x ∈ [tm, tm+1). (Es ist k ≤ m ≤ k + ℓ.)
• Setze
c[0]j (x) = cj, j = 1, . . . , k + ℓ.
• Für p = 1, . . . , k − 1 berechne
c[p]j (x), j = m − k + 1 + p, . . . , m.
•
S(x) = c[k−1]m (x).
Dahmen-Reusken Kapitel 9 14
In analoger Weise kann man Ableitungen von Splinefunktionen behan-
deln. Es ergibt sich folgende Darstellung der p-ten Ableitung:
S(p)(x) =k+ℓ∑
j=1+p
c(p)j Nj,k−p(x)
als Linearkombination von B-Splines der Ordnung k − p.
Die neuen Koeffizienten c(p)j sind p-te Differenzen der ursprünglichen
Koeffizienten:
c(p)j =
cj, p = 0,
(k − p)c(p−1)j −c
(p−1)j−1
tj+k−p−tj, 0 < p ≤ k − 2.
Dahmen-Reusken Kapitel 9 15
9.1.4 Stabilität der B-Spline-Basis
Einer der Hauptgründe für die Wichtigkeit der B-Splines:
Für jedes k ∈ N existiert eine positive Konstante c, so daß für alle
Knotenmengen T = {tj}nj=1 wie in (9.10) und alle {cj}
k+lj=1 gilt
c maxj=1,...,k+l
∣
∣
∣cj
∣
∣
∣ ≤ maxx∈[a,b]
∣
∣
∣
∣
k+l∑
j=1
cjNj,k(x)
∣
∣
∣
∣
≤ maxj=1,...,k+l
∣
∣
∣cj
∣
∣
∣ .
Das heißt kleine Änderungen in den Koeffizienten bewirken nur kleine
Änderungen in der entsprechenden Splinefunktion und umgekehrt und
zwar unabhängig von der Lage der Knoten.
Dahmen-Reusken Kapitel 9 16
9.2. Splineinterpolation
Der folgende Satz (von Schoenberg und Whitney) charakterisiert,
wann ein Interpolationsproblem eindeutig für alle Daten lösbar ist.
Satz 9.15 Sei T = {tj}nj=1 wie in (9.10).
Seien x1, . . . , xk+ℓ ∈ [a, b] Stützstellen und f1, . . . , fk+ℓ die zu-
gehörigen Daten. Das Problem der Bestimmung eines S ∈ Sk,T ,
so daß
S(xj) = fj, j = 1, . . . , k + ℓ
gilt, hat genau dann eine eindeutig bestimmte Lösung, wenn
xj ∈ (tj, tj+k), j = 1, . . . , k + ℓ,
d.h., wenn in den Träger jedes B-Splines mindestens eine Stütz-
stelle fällt. Man kann sogar zeigen, daß die Aussage für Hermite-
Interpolation gültig bleibt.
Dahmen-Reusken Kapitel 9 17
Kubische Splineinterpolation
Wir gehen nun auf den wichtigen Spezialfall der kubischen Splinein-
terpolation nochmals ein. Dies betrifft den Fall, daß k = 4 ist und
Stützstellen und Knoten übereinstimmen:
xj := tj+3 = τj−1 für j = 1, . . . , ℓ + 2 .
Dies liefert allerdings nur ℓ + 2 Bedingungen.
Mögliche weitere Bedingungen (dimS4,T = 4 + ℓ):
(a) Vollständige kubische Splineinterpolation:
S(tj) = f(tj), j = 4, . . . , ℓ + 5, S′(a) = f ′(a), S′(b) = f ′(b).
(b) Natürliche kubische Splineinterpolation:
S(tj) = f(tj), j = 4, . . . , ℓ + 5, S′′(a) = S′′(b) = 0.
Dahmen-Reusken Kapitel 9 18
Lemma 9.18. Sei g ∈ C2([a, b]) und S ∈ S4,T , so daß
g(ti) = S(ti) für i = 4, . . . , ℓ + 5 ,
S′′(b)(
g′(b) − S′(b))
= S′′(a)(
g′(a) − S′(a))
.
Dann gilt∫ b
aS′′(x)2 dx ≤
∫ b
ag′′(x)2 dx .
Dahmen-Reusken Kapitel 9 19
Für die vollständige kubische Splineinterpolation ergibt sich folgendes
Resultat:
Satz 9.19. Zu jedem f ∈ C1([a, b]) existiert ein eindeutiger Spline
I4f ∈ S4,T , so daß
(I4f)(tj) = f(tj), j = 4, . . . , ℓ + 5,
(I4f)′(a) = f ′(a), (I4f)
′(b) = f ′(b).
Ferner erfüllt I4f die Extremaleigenschaft
∫ b
a(I4f)
′′(x)2 dx ≤∫ b
ag′′(x)2 dx
für alle Funktionen g ∈ C2([a, b]), die die gleichen Interpolations-
und Randbedingungen wie I4f erfüllen.
Dahmen-Reusken Kapitel 9 20
Völlig analog kann man folgendes Resultat für die natürliche kubische
Splineinterpolation beweisen:
Satz 9.20. Zu jedem f ∈ C2[(a, b]) existiert ein eindeutiger Spline
Î4f ∈ S4,T , so daß
(Î4f)(tj) = f(tj), j = 4, . . . , ℓ + 5,
(Î4f)′′(a) = (Î4f)
′′(b) = 0.
Ferner erfüllt Î4f die Extremaleigenschaft
∫ b
a(Î4f)
′′(x)2 dx ≤∫ b
ag′′(x)2 dx
für alle Funktionen g ∈ C2([a, b]) die die gleichen Interpolations-
und Randbedingungen wie Î4f erfüllen.
Dahmen-Reusken Kapitel 9 21
Bemerkung 9.21.
Sei
h = maxj=1,...,ℓ
(τj+1 − τj)
und f ∈ C4([a, b]).
Man kann beweisen, daß
‖f − I4f‖∞ ≤h4
16‖f(4)‖∞
gilt, wobei ‖ · ‖∞ die Maximumnorm auf [a, b] ist.
Der Vergleich mit Bemerkung 9.2 zeigt, daß die kubische Interpolation
(unabhängig von der Lage der Knoten!) die bestmögliche Approxima-
tionsordnung realisiert. △
Dahmen-Reusken Kapitel 9 22
Berechnung der vollständigen kubischen Splineinterpolation
Sei I4f die vollständige Splineinterpolation einer Funktion f ∈ C1([a, b]).
Wegen Satz 9.9 hat I4f die Form
(I4f)(x) =ℓ+4∑
j=1
cjNj,4(x).
Die Lösung des Interpolationsproblems verlangt nun, die Koeffizienten
cj über die Interpolationsbedingungen (9.25) zu bestimmen.
Es gilt
c1 = f(t4), cℓ+4 = f(tℓ+5),
c2 =f ′(a) − f(a)N ′1,4(a)
N ′2,4(a),
cℓ+3 =f ′(b) − f(b)N ′ℓ+4,4(b)
N ′ℓ+3,4(b).
Dahmen-Reusken Kapitel 9 23
Es sind lediglich noch die Koeffizienten (c3, . . . , cℓ+2)T = c zu bestim-
men sind. Dafür ergibt sich das Gleichungssystem
ATc = f ,
wobei
f = (f3, . . . , fℓ+2)T
mit
f3 = f(t5) − c2N2,4(t5),
fℓ+2 = f(tℓ+4) − cℓ+3Nℓ+3,4(tℓ+4),
fj = f(tj+2), j = 4, . . . , ℓ + 1,
und
AT =
N3,4(t5) N4,4(t5)
N3,4(t6) N4,4(t6) N5,4(t6)
N4,4(t7) N5,4(t7). . . ∅
∅ . . . . . . Nℓ+2,4(tℓ+3)Nℓ+1,4(tℓ+4) Nℓ+2,4(tℓ+4)
.
Dahmen-Reusken Kapitel 9 24
Beispiel 9.22.
Seien
τj = j ∗ 0.1, j = 0, . . . ,14,
fj = 1, j = 0, . . . ,5,
fj = 0.5, j = 6, . . . ,14.
Die entsprechende natürliche kubische-Splineinterpolation ist in Abb.
9.4 dargestellt. Man stellt fest, daß wegen des Sprunges in den Daten
Oszillationen auftreten. △
0 0.2 0.4 0.6 0.8 1 1.2 1.40.4
0.5
0.6
0.7
0.8
0.9
1
1.1
Dahmen-Reusken Kapitel 9 25
9.3 Datenfit-Smoothing Splines
Gegeben seien Messungen fj, j = 1, . . . , m, die gewissen Abszissen xj,
j = 1, . . . , m, in einem Intervall [a, b] zugeordnet werden.
Eine Approximation S ∈ Sk,T läßt sich dann folgendermaßen bestim-
men: Finde c = (c1, . . . , ck+ℓ)T , so daß S(x) =
∑k+ℓj=1 cjNj,k(x)
m∑
j=1
(
S(xj) − fj)2
= minc̃∈Rk+ℓ
m∑
j=1
( k+ℓ∑
ℓ=1
c̃ℓNℓ,k(xj) − fj
)2
erfüllt. Hierbei ist i.a. m ≫ k + ℓ, und die xj müssen natürlich nicht
mit den Knoten tj übereinstimmen. Diese Aufgabe ist ein lineares
Ausgleichsproblem der Form
‖ATc − f‖2 = min,
wobei hier
AT =(
Nj,k(xi))m,k+ℓ
i=1,j=1∈ Rm×(k+ℓ) ,
f = (f1, . . . , fm)T ∈ Rm.
Dahmen-Reusken Kapitel 9 26
Auch beim obigen Ausgleichsansatz können stark fehlerbehaftete Da-
tensätze und starke”Datenausreißer“ ein
”Überfitten“ mit entspre-
chenden Oszillationen bewirken.
Das Konzept des”Smoothing-Splines“ schafft da Abhilfe.
Ein”Strafterm“ soll starke Ausschläge unterdrücken und die Daten
”glätten“. Für ein θ ≥ 0 sucht man dasjenige S ∈ Sk,T , das
m∑
j=1
(S(xj) − fj)2 + θ2‖S′′‖22 = min
S̃∈Sk,T
m∑
j=1
(S̃(xj) − fj)2 + θ2‖S̃′′‖22
erfüllt.
Wegen (9.17) und (9.20) für p = 2 gilt für S(x) =∑k+ℓ
j=1 cjNj,k(x)
c2k+ℓ∑
j=3
(
c(2)j ‖Nj,k−2‖2
)2≤ ‖S′′‖22 ≤ C
2k+ℓ∑
j=3
(
c(2)j ‖Nj,k−2‖2
)2.
Dahmen-Reusken Kapitel 9 27
Man erhält also im Wesentlichen das qualitativ selbe Funktional, wenn
man ‖S′′‖22 durch∑k+ℓ
j=3 ĉ2j , mit ĉj := c
(2)j ‖Nj,k−2‖2, ersetzt.
Dies führt zu folgendem Minimierungsproblem:
Finde S(x) =∑k+ℓ
j=1 cjNj,k(x) so daß,
m∑
j=1
( k+ℓ∑
i=1
ciNi,k(xj) − fj
)2+ θ2
k+ℓ∑
j=3
ĉ2j
= minc̃∈Rk+ℓ
m∑
j=1
( k+ℓ∑
i=1
c̃iNi,k(xj) − fj
)2+ θ2
k+ℓ∑
j=3
ĉ2j .
Hierbei gilt
c(2)j =
(k − 1)(k − 2)
tj+k−2 − tj
[
1
tj+k−2 − tj−1cj−2
−( 1
tj+k−1 − tj+
1
tj+k−2 − tj−1
)
cj−1 +1
tj+k−1 − tjcj
]
,
für j = 3, . . . , k + ℓ.
Dahmen-Reusken Kapitel 9 28
Mit ĉ := (ĉ3, . . . , ĉk+l)T ergibt sich ĉ = BTc,
BT :=
b3,1 b3,2 b3,3b4,2 b4,3 b4,4 ∅
∅ . . . . . . . . .bk+ℓ,k+ℓ−2 bk+ℓ,k+ℓ−1 bk+ℓ,k+ℓ
,
dj :=(k − 1)(k − 2)‖Nj,k−2‖2
tj+k−2 − tj, bj,j−2 :=
dj
tj+k−2 − tj−1,
bj,j :=dj
tj+k−1 − tj, bj,j−1 := −
(
bj,j−2 + bj,j)
.
Das Minimierungsproblem erhält dann die Form
‖ATc − f‖22 + θ
2‖BTc‖22 = min
c̃∈Rk+ℓ‖AT c̃ − f‖
22 + θ
2‖BT c̃‖22 ,
was wiederum gleichbedeutend mit∥
∥
∥
∥
∥
(
ATθBT
)
c −
(
f
0
)∥
∥
∥
∥
∥
2
→ min
und somit ein Standard-Ausgleichsproblem ist.
Dahmen-Reusken Kapitel 9 29
Beispiel 9.23.
Messungen (xj, fj), j = 1, . . . ,20 (∗ in Abbildung).Zur Approximation (und Glättung) dieser Daten benutzen wir kubi-sche Splines mit äquidistanten Knoten τj = j ∗ 0.1, j = 0, . . . ,10.
Für drei Parameterwerte θ = 0, 10−3, 10−2 werden die Splinefunktio-nen S(x) =
∑13j=1 cjNj,4(x) gezeigt. △
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Dahmen-Reusken Kapitel 9 30
Recommended