Albert-Schweitzer-Gymnasium

Kollegstufenjahrgang 2001/2003

Erlangen

Facharbeit aus dem Fach

Mathematik

Thema:

Splinefunktionen und ihre Anwendung

Verfasser:

Moritz Lenz

Leistungskurs:

Mathematik 1

Kursleiter:

OStR Bernhardt

Abgabetermin:

3. Februar 2003

schriftliche Arbeit:

m¨ undliche Pr¨ ufung:

Erzielte Note:

in Worten:

Erzielte Punkte:

in Worten:

(einfache Wertung)

Abgabe beim Kollegstufenbetreuer am:

(Unterschrift des Kursleiters)

28. Januar 2003

Moritz Lenz

–2–

Splinefunktionen

Inhaltsverzeichnis Inhaltsverzeichnis

2

¨ 1 Uberblick

3

2 Forderungen fu ¨ r Interpolationsverfahren

3

3 Splinefunktionen

3

3.1

Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

3.2

Splines 1. Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

3.3

Splines 2. Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

3.4

Splines 3. Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

3.4.1

Sequenzielle Splinefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . .

7

3.4.2

Nat¨ urliche Splinefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Splines h¨oheren Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

3.5

4 Beispiele fu ¨ r Splinefunktionen

10

4.1

Splines ersten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

4.2

Splines zweiten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

4.3

Splines dritten Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

4.3.1

sequenzielle Splinefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . .

12

4.3.2

Nat¨ urliche Splinefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

5 Vergleich mit Polynominterpolation

13

5.1

Kr¨ ummung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

5.2

Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

5.3

Rechnerischer Aufwand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

6 Anwendungen

15

6.1

Darstellung von Messwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

6.2

3D - Grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

6.3

Beschreibung von Schriftarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

6.4

Holzbearbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

7 Ausblick

17

8 Literaturverzeichnis

18

Moritz Lenz

1

–3–

Splinefunktionen

¨ Uberblick

Die Mathematik geh¨ort, obgleich sie eine reine Geisteswissenschaft ist, unbestritten zu den wichtigsten Wissenschaften der heutigen Zeit. Diesen Status erreichte sie dadurch, dass sie Werkzeuge f¨ ur praktischen Anwendungen bereitstellte. Mit einem dieser Werkzeuge, mit Splinefunktionen, befasst sich die vorliegende Facharbeit. Splinefunktionen werden zum interpolieren gebraucht, also zum Aufstellen einer Funktion zu gegebenen einzelnen Punkten. Es sollen jedoch nur wenige verschiedene Splinefunktionen behandelt werden, da eine ausf¨ uhrlichere Behandlung den Rahmen jeder Facharbeit sprengen w¨ urde. Im folgenden Abschnitt wird die Frage beantwortet, welche Eigenschaften interpolierende Funktionen sinnvollerweise aufweisen sollten. Abschnitt 3 stellt Splinefunktionen verschiedenen Grades vor. Darauf folgen Beispiele, und mit einem Vergleich zwischen Polynominterpolation und Splinefunktionen schließt diese Facharbeit.

2

Forderungen fu ¨ r Interpolationsverfahren

Gegeben sei eine Menge M von n Punkten Pi (xi , yi ) (sogenannte St¨ utzpunkte) mit xi , yi ∈ < f¨ ur i = 0, 1 . . . , n − 1 und der Eigenschaft xi−1 < xi f¨ ur alle i = 1, 2, . . . , n − 1

(2.0.1)

Gesucht ist eine Funktion f (x), die durch alle St¨ utzpunkte geht und stetig ist, sp¨ ater wird zweimalige Differenzierbarkeit gefordert.

3 3.1

Splinefunktionen Allgemein

Splinefunktionen k-ten Grades sind abschnittsweise definierte Funktionen, die aus Polynomen h¨ochstens k-ten Grades bestehen. Die Definitionsbereiche der einzelnen Polynomfunktionen sind durch die Abszissen der St¨ utzpunkte festgelegt. Im Hinblick auf die Stetigkeit m¨ ussen nur die St¨ utzpunkte betrachtet werden, da die einzelnen Polynomfunktionen immer stetig (und beliebig oft diffe-

Moritz Lenz

–4–

Splinefunktionen

renzierbar) sind. Allgemein gilt f¨ ur Splinefunktionen also

f (x) =

    p0 (x)        p1 (x)       ...    pi (x)      ..    .      p n−2 (x)

f¨ ur x0 ≤ x < x1 f¨ ur x1 ≤ x < x2 .. .

(3.1.1)

f¨ ur xi ≤ x < xi−1 .. . f¨ ur xn−2 ≤ x ≤ xn−1

wobei alle pi (x) Polynomfunktionen h¨ ochstens k-ten Grades sind, bei denen jeweils x durch x − xi ersetzt ist, also anschaulich an der x-Achse um xi nach links verschoben sind:

pi (x) =

k X

aij (x − xi )j = aik (x − xi )k + · · · + ai1 (x − xi ) + ai0

j=0

Auch ohne die Verschiebung der Teilfunktionen (bei xi > 0 nach links) w¨ are die Herleitung und Berechnung der Parameter problemlos m¨ oglich. Jedoch w¨ are beides deutlich aufw¨andiger. Da es n − 1 Teilfunktionen mit jeweils k + 1 Parametern gibt, sind insgesamt (n − 1)(k + 1) Parameter relevant, wobei jedoch immer ai0 = yi gilt. Effektiv m¨ ussen also bei jeder Splinefunktion k(n − 1) Parameter berechnet werden. Die Anzahl der Parameter ist gleichzeitig die Anzahl der Eigenschaften der Splinefunktion, wobei ich hier unter Eigenschaft den Wert der Ordinate, der ersten oder der zweiten Ableitung bei gegebener Abszisse verstehe.

3.2

Splines 1. Grades

Der einfachste Fall ist k = 1, die Punkte werden durch Geraden miteinander verbunden. Die Gleichung der Splinefunktion lautet dann

Moritz Lenz

–5–

  y1 −y0   x1 −x0 (x − x0 ) + y0     ..    .    f (x) =

yi+1 −yi xi+1 −x1 (x − xi ) + yi     ..    .       yn−2 −yn−1 xn−2 −xn−1 (x − xn−2 ) + yn−2

Splinefunktionen

f¨ ur x ∈ [x0 ; x1 [ .. . f¨ ur x ∈ [xi ; xi+1 [ .. . f¨ ur x ∈ [xn−2 ; xn−1 ]

Diese Funktion ist innerhalb ihres Definitionsbereiches stetig, jedoch an den St¨ utzpunkten nur in Spezialf¨allen differenzierbar.

3.3

Splines 2. Grades

Der einfachste Fall differenzierbarer Splinefunktionen sind Splines 2-ten Grades. Wenn jede Teilfunktion am linken Rand ihres Definitionsbereiches die Steigung der vorhergehenden Teilfunktion u ¨bernimmt, ist f differenzierbar und jede außer der ersten Teilfunktion ist durch drei Angaben (Steigung am linken Rand, Funktionswert rechts und links) eindeutig definiert. F¨ ur die erste Teilfunktion l¨ aßt sich die Steigung willk¨ urlich w¨ ahlen, und wird hier gleich Null gesetzt. Man erh¨ alt also den Ansatz pi (x) = ai2 (x − xi )2

+ ai1 (x − xi )

+ ai0

pi (xi ) = ai2 (xi − xi )2

+ ai1 (xi − xi )

+ ai0

p0i (xi ) = 2ai2 (xi − xi )

+ ai1

pi (xi+1 ) = ai2 (xi+1 − xi )2

= yi = p0i−1 (xi )

+ ai1 (xi+1 − xi )

+ ai0

= yi+1

Daraus resultiert a01 = 0 ai0 = yi ai1 = p0i−1 (xi ) = 2ai−1,2 (xi − xi−1 ) + ai−1,1 ai1 yi+1 − yi ai2 = 2 − x (xi+1 − xi ) i+1 − xi

f¨ ur i = 1, . . . , n − 1 f¨ ur i = 0, . . . , n − 1

Da diese Splinefunktionen manchmal sehr ausgepr¨ agt oszillieren, ist es oft sinnvoll, in der ersten Teilfunktion nicht die erste, sondern die zweite Ableitung gleich Null zu setzen. Man erh¨alt als erste Teilfunktion eine Gerade und damit a01 =

y1 −y0 x1 −x0

berechnen sich die Werte der Parameter genauso wie oben.

sowie a02 = 0. Ansonsten

Moritz Lenz

3.4

–6–

Splinefunktionen

Splines 3. Grades

Um einen glatten“ Kurvenverlauf zu gew¨ ahrleisten, fordert man zweimalige Differenzier” barkeit. Aufgrund der Forderung zweimaliger Differenzierbarkeit werden Splinefunktionen mindestens 3. Grades ben¨otigt. Denn mit den Koordinaten der beiden Anschlussstellen sowie Steigung und Kr¨ ummung des Graphen sind an einer Seite bereits vier Vorgaben vorhanden. Um eine Splinefunktion dritten Grades zu erhalten, m¨ ussen wie in Abschnitt 3.1 erw¨ ahnt, bei n St¨ utzpunkten 4(n − 1) Eigenschaften beziehungsweise Parameter festgelegt werden. Die folgende Tabelle zeigt, welche Forderungen wie viele Parameter beziehungsweise Eigenschaften verbrauchen“: ” Forderung

als Gleichung

St¨ utzpunkte Element des Graphen

pi (x1 ) = yi

n−1

Stetigkeit

pi (xi+1 ) = pi+1 (xi+1 )

n−1

Differenzierbarkeit:

p0i (xi+1 ) = p0i+1 (xi+1 )

n−2

zweimalige Differenzierbarkeit

p00i (xi+1 ) = p00i+1 (xi+1 )

n−2

Summe

Anzahl der Eigenschaften

4(n − 1) − 2

Es bleiben also zwei Eigenschaften zum Festlegen u oglichkeiten ¨brig. Es bieten sich drei M¨ an, dies zu tun: 1. Man setzt jeweils die erste und die zweite Ableitung an der ersten und an dem letzten St¨ utzpunkt gleich. Dieses Vorgehen empfiehlt sich, wenn y0 = yn gilt und man Wert auf Symmetrie legt. Die resultierende Funktion wird periodische Splinefunktion genannt. 2. Legt man den Wert der ersten und zweiten Ableitung am ersten St¨ utzpunkt willk¨ urlich fest (normalerweise setzt man sie gleich Null), lassen sich die weiteren Parameter sehr effizient berechnen. Aus Ermangelung eines besseren Namens nenne ich die resultierende Funktion im Weiteren sequenziell. 3. Setzt man die zweite Ableitung am ersten und letzten St¨ utzpunkt gleich Null, erh¨ alt man nat¨ urliche Splinefunktionen, die eine sehr niedrige Gesamtkr¨ ummung aufweisen (siehe dazu auch Abschnitt 5.1). Aus Platzgr¨ unden (und weil sich die erste und die dritte Variante in der Herleitung kaum unterscheiden), gehe ich im Folgenden nur auf die sequenzielle und die nat¨ urliche Splinefunktion ein.

Moritz Lenz

3.4.1

–7–

Splinefunktionen

Sequenzielle Splinefunktionen

Herleitung Um die Koeffizienten der einzelnen Teilfunktionen zu bestimmen, kann man die Forderungen der Stetigkeit und zweimaliger Differenzierbarkeit auf die Schnittstellen der Teilfunktionen anwenden und erh¨ alt somit pi (xi ) = yi

f¨ ur 0 ≤ i ≤ n − 1

(3.4.1)

pi (xi+1 ) = yi+1

f¨ ur 0 ≤ i ≤ n − 2

(3.4.2)

p0i (xi ) = p0i−1 (xi )

f¨ ur 1 ≤ i ≤ n − 1

(3.4.3)

p00i (xi ) = p00i−1 (xi )

f¨ ur 1 ≤ i ≤ n − 1

(3.4.4)

Aus (3.4.1) folgt ai0 = yi . Durch Ableiten der Polynomfunktion erh¨ alt man p0i (x) = 3ai3 (x − xi )2 + 2ai2 (x − xi ) + ai1 und speziell p0i (xi ) = ai1 , sowie p00i (x) = 6ai3 (x − xi ) + 2ai2 beziehungsweise p00i (xi ) = 2ai2 . Um die Notation zu verk¨ urzen f¨ uhrt man hi := xi+1 − xi als horizontalen Abstand der St¨ utzpunkte ein und erh¨ alt die Gleichungen ai0 = yi ai3 h3i + ai2 h2i + ai1 hi + ai0 = yi+1 ai1 = 3ai−1,3 h2i−1 + ai−1,2 hi−1 + ai−1,1 2ai2 = 6ai−1,3 hi−1 + 2ai−1,2 F¨ ur ai3 erh¨alt man

yi+1 − y1 ai1 ai2 − 2 − hi h3i hi (Forderung (2.0.1) stellt sicher, dass hi 6= 0, man kann also durch hi teilen). Man k¨ onnte ai3 =

problemlos ai1 und ai2 durch die Koeffizienten der vorhergehenden Teilfunktion ersetzen. Dann h¨atte man alle Koeffizienten dieser Teilfunktion durch die der vorhergehenden Teilfunktion ausgedr¨ uckt. Das w¨ urde aber die Berechnung umfangreicher und f¨ ur i = 0 unm¨oglich machen. Wenn die St¨ utzpunkte ¨aquidistant sind (h = hi = hi−1 = const), das heißt anschaulich: den gleichen horizontalen Abstand haben, gilt ai0 = yi

(3.4.5)

ai1 = 3ai−1,3 h2 + ai−1,2 h + ai−1,1

(3.4.6)

ai2 = 3ai−1,3 h + ai−1,2 yi+1 − y1 ai1 ai2 ai3 = − 2 − h3 h h

(3.4.7) (3.4.8)

Zusammenfassung In beiden F¨ allen (¨ aquidistant wie in¨ aquidistant) sind die Parameter der Teilfunktion pi (x) durch yi , yi+1 sowie durch die Parameter der vorhergehenden Teilfunktion festgelegt.

Moritz Lenz

3.4.2

–8–

Splinefunktionen

Natu ¨ rliche Splinefunktionen

Herleitung Um die Koeffizienten einer nat¨ urlichen Splinefunktion zu berechnen, wird in [2]1 der folgende Ansatz beschrieben: pi (xi ) = yi

f¨ ur i = 0, . . . , n − 1

(3.4.9)

pi (xi ) = pi−1 (xi )

f¨ ur i = 1, . . . , n − 1

(3.4.10)

p0i (xi ) = p0i−1 (xi )

f¨ ur i = 1, . . . , n − 1

(3.4.11)

p00i (xi ) = p00i−1 (xi )

f¨ ur i = 1, . . . , n − 1

(3.4.12)

(Um die Herleitung zu erleichtern, denkt man sich eine zus¨ atzliche Teilfunktion pn−1 dazu, die nicht zu f geh¨ort.) Wie vorher folgt aus (3.4.9): ai0 = yi . Diesmal empfiehlt es sich, di := xi − xi−1 (im Gegensatz zu hi := xi+1 − xi ) einzuf¨ uhren. Dann erh¨ alt man aus (3.4.12) 2ai2 = 2ai−1,2 + 6ai−1,3 (xi − xi−1 ) ⇒ ai,3 =

ai+1,2 − ai2 3di+1

⇒ ai−1,3 =

ai2 − ai−1,2 3di

(Forderung (2.0.1) stellt sicher, dass di 6= 0). Weiterhin erh¨ alt man aus (3.4.9) mit Einsetzen der Gleichung f¨ ur ai−1,3 : ai0 = ai−1,3 d3i + ai−1,2 d2i + ai−1,1 di + ai−1,0 1 = d2i (ai−1,2 − ai2 ) + ai−1,2 d2i + ai−1,1 di + ai−1,0 3 1 = d2i (2ai−1,2 − ai2 ) + ai−1,1 di + ai−1,0 3 und nach ai−1,1 aufgel¨ost ai−1,1 =

ai0 − ai−1,0 1 − di (2ai−1,2 + ai2 ) di 3

und durch Ersetzen von i − 1 durch i: ai1 =

ai+1,0 − ai0 1 − di+1 (2ai2 + ai+1,2 ) di+1 3

Aus (3.4.11) erh¨alt man ai1 = 3ai−1,3 d2i + 2ai−1,2 di + ai−1,1 = (ai2 − ai−1,2 )di + 2ai−1,2 di +

ai0 − ai−1,0 1 − di (2ai−1,2 + ai2 ) di 3

ai0 − ai−1,0 1 = di (ai−1,2 + 2ai2 ) + 3 di 1

Literaturverzeichnis siehe letzte Seite

(3.4.13)

Moritz Lenz

–9–

Splinefunktionen

Mit (3.4.13) gleichgesetzt erh¨alt man ai0 − ai−1,0 ai+1,1 − ai,1 1 1 di (ai−1,2 + 2ai2 ) + = − di+1 (2ai2 + ai+1,2 ) 3 di di+1 3 ai+1,1 − ai,1 ai0 − ai−1,0 1 1 di+1 (2ai2 + ai+1,2 ) + di (ai−1,2 + 2ai2 ) = − 3 3 d di µ i+1 ¶ ai+1,0 − ai0 ai0 − ai−1,0 ai+1,2 di+1 + 2(di + di+1 )ai2 + ai−1,2 di−1 = 3 − di+1 di Das ist ein Gleichungssystem mit n−2 Unbekannten (Die Unbekannten sind a12 , . . . , an−2,2 ; a00 , . . . , an−1,0 sind bekannt). Um a12 , . . . , an−2,2 zu berechnen, werden a02 und an−1,2 ben¨otigt, die ebenfalls Bestandteil des Gleichungssystems sind, da dieses f¨ ur i = 1, . . . , n−2 definiert ist. Bei nat¨ urlichen Splinefunktionen erh¨ alt man wegen der Bedingung, dass die Kr¨ ummung an den a¨ußeren R¨ andern des Definintionsbereiches Null ist: f 00 (x0 ) = 0

⇒ p000 (x0 ) = 0

⇒ a02 = 0

f 00 (xn−1 ) = 0

00 ⇒ pn−1 (xn−1 ) = 0

⇒ an−1,2 = 0

Damit ist das Gleichungssystem eindeutig bestimmt, und da f¨ ur jeden Parameter ai2 auch die Parameter ai−1,2 und ai+1,2 in der selben Zeile des Gleichungssystems auftauchen, liegt es in Tridiagonalform vor. Damit ist es in linearer Zeit l¨ osbar 2 . Zur Veranschaulichung hier ein Beispiel mit 6 ¨ aquidistanten St¨ utzpunkten mit d = 1 (das ist der h¨aufigste Fall): i=1:

4a12

i=2:

a12

i=3:

+a22 +4a22 a22

=3 (a20 − 2a10 + a00 ) +a32 +4a32

i=4:

a32

=3 (a30 − 2a20 + a10 ) +a42

=3 (a40 − 2a30 + a20 )

+4a42

=3 (a50 − 2a40 + a30 )

Zusammenfassung Um alle Parameter einer Splinefunktion zu berechnen, empfiehlt es sich, zuerst die ai0 zu berechnen: ai0 = yi

f¨ ur 0 ≤ i ≤ n − 1

Danach l¨ost man das lineare Gleichungssystem µ ai+1,2 di+1 + 2(di + di+1 )ai2 + ai−1,2 di−1 = 3

ai+1,0 − ai0 ai0 − ai−1,0 − di+1 di



mit den zus¨atzlichen Bedingungen a02 = 0 und an−1,2 = 0 nach a12 , . . . , an−2,2 . Danach erh¨alt man durch ai3 = 2

ai+1,2 − ai2 3di+1

Ein Gleichungssystem mit n Unbekannten heißt in linearer Zeit l¨ osbar, wenn es Konstanten a, b gibt,

f¨ ur die das System in h¨ ochstens a(n + b) Einzelschritten f¨ ur beliebig große n l¨ osbar ist.

Moritz Lenz

– 10 –

Splinefunktionen

die ai3 sowie aus der Beziehung ai1 =

ai+1,0 − ai0 1 − di+1 (2ai2 + ai+1,2 ) di+1 3

die noch fehlenden ai1 . Anmerkungen: 1. Aus der Herleitung folgt unmittelbar, dass eine nat¨ urliche Splinefunktion durch ihre St¨ utzpunkte eindeutig bestimmt ist. 2. Bei ¨aquidistanten St¨ utzpunkten vereinfacht sich vor allem das Gleichungssystem, man erh¨alt ai+1,2 + 4ai2 + ai−1,2 = 3

ai+1,0 − 2ai0 + ai−1,0 d2

(3.4.14)

3. In [1] wird ein ¨ahnlicher, ebenfalls interessanter Ansatz beschrieben, bei dem anstatt mit Parametern mit den Funktionswerten und den zweiten Ableitungen gerechnet, aus denen man dann die Parameter rekonstruieren kann. Die Herleitung dieser Gleichungen soll hier nicht behandelt werden, da sie den beiden bisherigen Herleitungen sehr ¨ahnlich ist. Das Resultat bei ¨ aquidistanten St¨ utzpunkten ist das Gleichungssystem 00 00 yi−1 + 4yi00 + yi+1 =6

3.5

yi+1 − 2yi + yi−1 h2

Splines h¨ oheren Grades

Bei Splinefunktionen h¨oheren Grades m¨ ussen prinzipiell k − 1 Parameter festgelegt werden. Da der rechnerische Aufwand sehr groß wird (obwohl die Parameter auch weiterhin in linearer Zeit zu berechnen sind) und die Funktionen h¨ oheren Grades zu hohen Gesamtkr¨ ummungen f¨ uhren, werden sie eher selten verwendet (und sollen in dieser Arbeit auch nicht weiter vertieft werden).

4

Beispiele fu ¨ r Splinefunktionen

Die verschiedenen Splinefunktionen sollen hier an Beispielen mit vier ¨ aquidistanten Punkten3 gezeigt werden. Abbildung 1 zeigt die Koordinaten dieser Punkte.

3

Die Koordinaten der Punkte wurden vom Kursleiter vorgegeben

Moritz Lenz

– 11 –

Splinefunktionen

i

0

1

2

3

xi

0

1

2

3

yi

−1

3

1

2

Abbildung 1: Die Koordinaten der St¨ utzpunkte f¨ ur die n¨ achsten Beispiele i

0

1

2

ai0

−1

3

1

ai1

4

4

−8

3

y

ai2

0

−6

2

9 1

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

1.6

1.8

2

2.2

2.4

2.6

2.8

3

–1

Abbildung 2: Parameter und Graph der Splinefunktion 2. Grades

4.1

Splines ersten Grades

Die Gleichung f¨ ur die Splinefunktion ersten Grades kann man sofort erstellen:     4x − 1 f¨ ur x ∈ [0; 1[    f (x) = −2(x − 1) + 3 f¨ ur x ∈ [1; 2[       1 (x − 2) + 1 f¨ ur x ∈ [2, 3] 2

4.2

Splines zweiten Grades

Auch die Parameter f¨ ur die Splinefunktionen zweiten Grades lassen sich mit geringem Aufwand berechnen. Abbildung 2 zeigt die Parameter und den Graphen der Funktion, deren erste Teilfunktion eine Gerade ist. Man sieht, dass sich zwischen x = 2 und x = 3 deutlich kleinere Funktionswerte ergeben als die y-Werte der benachbarten St¨ utzpunkte.

4.3

Splines dritten Grades

Jetzt werden die Parameter f¨ ur die Splinefunktionen dritten Grades f¨ ur sequenzielle und nat¨ urliche Splinefunktionen berechnet. Periodische Splines machen keinen Sinn, da Anfangs- und Endpunkt unterschiedliche y-Koordinaten haben.

Moritz Lenz

– 12 –

Splinefunktionen

x 0

–10

y –20

–30

Abbildung 3: Die sequenzielle Splinefunktion 4.3.1

sequenzielle Splinefunktionen

Da die St¨ utzpunkte ¨aquidistant sind, k¨ onnen die Gleichungen (3.4.5) bis (3.4.8) herangezogen werden, h = 1. Weiter ist a01 = 0 und a02 = 0 gegeben. Alle weiteren Parameter werden durch einfache Rechnung ermittelt. Sie lauten: a00 = −1

a01 = 0

a02 = 0

a03 = 4

a10 = 3

a11 = 12

a12 = 12

a13 = −26

a20 = 1

a21 = −54

a22 = −66

a23 = 121

Die Funktion lautet also     4x3 − 1 f¨ ur 0 ≤ x < 1    f (x) = −26 (x − 1)3 + 12 (x − 1)2 + 12 (x − 1) + 3 f¨ ur 1 ≤ x < 2      121 (x − 2)3 − 54 (x − 2)2 − 66 (x − 2) + 3 f¨ ur 2 ≤ x ≤ 3

Weil der Graph (Abbildung 3) bei x = 0 eine waagrechte Tangente hat und der n¨achste Punkt wesentlich h¨oher liegt, wird die Steigung ab etwa x = erreicht bei x =

√ 15+ 30 13

3 4

sehr groß, die Funktion

≈ 1, 58 mit einem Funktionswert von ungef¨ ahr 8,92 ihr Maximum.

Danach f¨allt sie sehr stark und erreicht bei (2, 60| − 31, 90) (ungenauer Wert) ihr Minimum. Die Funktion schwankt also sehr stark. Das ist f¨ ur die meisten Anwendungen inakzeptabel.

4.3.2

Natu ¨ rliche Splinefunktionen

Die Berechnung der Parameter setzt das L¨ osen des Gleichungssystems (3.4.14) voraus. Mit d = 1 sowie ai0 = yi rechnet man zuerst die rechten Seiten aus und erh¨ alt:

Moritz Lenz

i

– 13 –

ai3

ai2

ai1

ai0

i=0

−1 45

0

5 45

−1

i=1

3

−5 25

2 5

3

i=2

−1 15

3 35

−1 25

1

Splinefunktionen

3

2 y

1

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

1.6

1.8

2

2.2

2.4

2.6

2.8

3

–1

Abbildung 4: Parameter und Verlauf der nat¨ urlichen Splinefunktion

a02 i = 1: i = 2:

a02

=0 +4a12

+a22

a12

+4a22

= −18 +a32

=9

a32

=0

Beziehungsweise vereinfacht: 4a12 + a22 = −18 a12 + 4a22 = 9 Es f¨allt nicht schwer, dieses System zu l¨ osen, man erh¨ alt a22 =

18 5

sowie a12 = − 27 5 . Die

weiteren Parameter werden durch einfache Rechnung ermittelt. Abbildung 4 zeigt alle ¨ Parameter in der Ubersicht sowie den Verlauf der nat¨ urlichen Splinefunktion. Sie verl¨ auft so ¨ahnlich, wie wenn man per Hand eine Kurve durch die gegebenen Punkte zeichnen w¨ urde.

5

Vergleich mit Polynominterpolation

Anstatt zwischen den einzelnen St¨ utzpunkten abschnittsweise definierte Polynomfunktionen zu legen, kann man auch eine einzige ganzrationale Funktion n − 1-ten Grades durch alle Punkte legen. der Ansatz ist im Prinzip der folgende: g(x) =

n−1 X

aj xj

ai ∈
0, wird eine Polynomfunktion p(m) durch die bekannten Punkte gelegt, und p(0) als N¨ aherungswert f¨ ur π verwendet. In

Moritz Lenz

– 15 –

Splinefunktionen

diesem Fall w¨aren Splinefunktionen v¨ ollig ungeeignet.

5.3

Rechnerischer Aufwand

Wie bereits erw¨ahnt ist die Berechnung der Koeffizienten einer Splinefunktion in linearer Zeit m¨oglich. Auch die Koeffizienten eines interpolierenden Polynoms lassen sich nach Newton oder Lagrange mit Hilfe von Computern schnell berechnen. Bei der Berechnung der Funktionswerte m¨ ussen bei Splines pro Funktionswert eine konstante Zahl von Operationen durchgef¨ uhrt werden, bei Polynomfunktionen ist die Anzahl der durchzuf¨ uhrenden Operationen proportional zu dem Grad des Polynoms und damit zur Anzahl der St¨ utzpunkte. Wenn also eine große Zahl von Funktionswerten berechnet werden soll, sind Splines besser geeignet.

6

Anwendungen

Es gibt zahlreiche Anwendungsm¨ oglichkeiten f¨ ur Splinefunktionen, besonders bei Computersoftware. Aber auch in vielen anderen Bereichen werden Splinefunktionen, besonders die dritten Grades, eingesetzt.

6.1

Darstellung von Messwerten

Oft werden Messwerte von Computern in regelm¨ aßigen Abst¨ anden aufgenommen und am Bildschirm ausgegeben. Um aus recht weit auseinanderliegenden, gemessenen Punkten eine sch¨one, glatte“ Kurve zu erzeugen, sind die in 3.4.1 angesprochenen sequenziellen ” Splinefunktionen sehr gut geeignet. Hier sind nat¨ urliche Splines und Polynominterpolation ungeeignet, da sich bei diesen Methoden bei neu dazugekommenen Messwerten die Funktionswerte zwischen den alten“ Messwerten ¨ andern. ” Wenn jedoch bereits gemessene Daten grafisch dargestellt werden sollen, sind nat¨ urliche Splinefunktionen sehr gut geeignet. Wenn zum Beispiel Dreidimensionale Gel¨ andekarten am Computer dargestellt werden, geschieht das fast immer mit nat¨ urlichen Splines. Dort wird in xy- und xz-Richtung unabh¨ angig voneinander interpoliert.

6.2

3D - Grafik

In immer mehr Computeranwendungen gibt es aufw¨ andige 3D-Grafiken, es werden also dreidimensionial modellierte Gegenst¨ ande aus verschiedenen Richtungen gezeigt. Daf¨ ur

Moritz Lenz

– 16 –

Splinefunktionen

werden die Koordinaten im Raum auf die Bildschirmkoordinaten umgerechnet. Weil f¨ ur die sch¨one Anzeige von Rundungen die Koordinaten sehr vieler Punkte berechnet werden m¨ ußten, versucht man nur wenige Punkte abzubilden und die Zwischenwerte zu interpolieren. Es kommt nicht auf ein m¨ oglichst genaues Bild an, sondern darauf, dass das Bild dem Betrachter plausibel“ erscheint. Durch die geringe Gesamtkr¨ ummung sind nat¨ urliche ” Splinefunktionen sehr gut geeignet.

6.3

Beschreibung von Schriftarten

Das Programm Metafont verwendet f¨ ur die qualitativ hochwertige Beschreibung einzelner Zeichen in Schriftarten Splinefunktionen. Es werden einzelne Punkte angegeben, durch die genau definierte Splinefunktionen gelegt werden. Wenn nun das Zeichen in einer anderen Gr¨oße ausgegeben werden soll als urspr¨ unglich vorgesehen, werden die Koordinaten der Punkte mit dem Faktor skaliert und die Splinefunktion erneut berechnet. Das hat gegen¨ uber dem sonst gebr¨auchlichen Verfahren – u ¨ber den Buchstaben wird ein Raster gelegt und dann gespeichert, welcher Punkt des Rasters auf dem Papier geschw¨ arzt werden oße muss – den Vorteil, dass das Zeichen ohne unsch¨ one Nebeneffekte4 an eine andere Gr¨ angepasst werden kann (siehe [3], Abschnitt 9)

6.4

Holzbearbeitung

In [1] heißt es: Historische Notiz: Wird ein Holzbrett durch ¨ außeren Zwang (durch Klemmen) in eine Form gebracht, so nimmt das Holz die Form eines kubischen5 Splines an. Derartiges war fr¨ uher wichtig beim Segelschiffbau, woher auch der Name Spline kommen soll. Zwar werden heute nur noch wenige Holzschiffe gebaut, doch gibt es inzwischen andere Anwendungen. So kann das Verhalten verbogenen Holzes beim Bau von Kunstwerken, Musikinstrumenten oder Designerm¨ obeln“ mit Hilfe von Splinefunktionen vorhergesagt ” werden.

4

Durch das Vergr¨ oßern ist das Raster nicht mehr fein genug. Man sieht also einzelne Rechtecke, die

nicht zu dem Zeichen geh¨ oren, sondern nur aus technischen Gr¨ unden dort sind. 5 genauer: die Form einer nat¨ urlichen Splinefunktion (Anmerkung des Autors)

Moritz Lenz

7

– 17 –

Splinefunktionen

Ausblick

Diese Facharbeit hat ein kleines, aber wichtiges Teilgebiet der Interpolation mit Splinefunktionen beleuchtet. Daneben gibt es noch sehr viele weitere Arten von Splines. So kann man mit parametrischen Splines der Form f : t 7→ (x(t), y(t)) auch bei Punkten interpolieren, die die Bedingung (2.0.1) nicht erf¨ ullen. Splines h¨ oheren Grades bieten die M¨ oglichkeit, an beliebigen Punkten die Steigung vorzugeben. Die F¨ ulle der m¨ oglichen Funktionen er¨offnet Anwendungsgebiete, die weit u ¨ber die hier vorgestellten Gebiete hinausgehen.

Moritz Lenz

8

– 18 –

Splinefunktionen

Literaturverzeichnis

[1] Meyer (Vorname unbekannt), Interpolation, Gauss-Approximation, im Internet unter http://www.fbi.fh-darmstadt.de/˜meyer/skripte/num/numerik3.pdf [2] Hennauer, S., Facharbeit Interpolation, 1998, http://www.stud.tu-muenchen.de/ ˜sven.hennauer/facharbeit.htm [3] Raichle, B., Nieprasck, R., Hafner, T., Fragen und Antworten (FAQ) u ¨ber das Textsatzsystem TEX und DANTE, Deutschsprachige Anwendervereinigung TEX e. V., 2001, Zeilen 7482ff, http://www.dante.de/faq/de-tex-faq/txt/de-tex-faq.txt Die gesamte Literatur ist auf der beigelegten CD-ROM im Verzeichnis Literatur enthalten.

Ich erkl¨are hiermit, dass ich die Facharbeit ohne fremde Hilfe angefertigt und nur die im Literaturverzeichnis angef¨ uhrten Quellen und Hilfsmittel ben¨ utzt habe.

Erlangen, den 30. Januar 2003.