mneu mathematik: numerik für energie- und umwelttechnikdublin.zhaw.ch/~kirs/mneu/mneunotes.pdf ·...

of 89 /89
MNEU Mathematik: Numerik für Energie- und Umwelttechnik Christoph Kirsch 21. Dezember 2014 Inhaltsverzeichnis 0 Überblick 2 1 Approximation: Taylor- und Fourierreihen 3 1.1 Taylor-Reihen ............................. 3 1.1.1 Erinnerung: Konvergenzradius ............... 4 1.1.2 Approximationsfehler, O-Notation ............. 5 1.1.3 Taylorpolynome in MATLAB ................ 6 1.1.4 Anwendungen ......................... 6 1.2 Fourierreihen ............................. 8 1.2.1 Definitionen .......................... 8 1.2.2 Beispiele ............................ 9 1.2.3 Fourierpolynome in MATLAB ............... 14 2 Lineare Gleichungssysteme 14 2.1 Direkte Verfahren ........................... 15 2.1.1 Gausssches Eliminationsverfahren und LR-Zerlegung . . . 15 2.1.2 LR-Zerlegung mit Spaltenpivotsuche (Spaltenpivotisierung) 24 2.2 Iterative Verfahren .......................... 28 2.2.1 Jacobi-Verfahren (Gesamtschrittverfahren) ........ 28 2.2.2 Gauss-Seidel-Verfahren (Einzelschrittverfahren) ...... 32 2.2.3 Allgemeine Splitting-Verfahren und Konvergenz ...... 35 2.2.4 Krylow-Unterraum-Verfahren ................ 36 3 Interpolation 36 3.1 Polynominterpolation ........................ 37 3.2 Spline-Interpolation ......................... 43 1

Author: tranquynh

Post on 19-Jul-2019

218 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • MNEUMathematik: Numerik

    fr Energie- und Umwelttechnik

    Christoph Kirsch

    21. Dezember 2014

    Inhaltsverzeichnis0 berblick 2

    1 Approximation: Taylor- und Fourierreihen 31.1 Taylor-Reihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.1.1 Erinnerung: Konvergenzradius . . . . . . . . . . . . . . . 41.1.2 Approximationsfehler, O-Notation . . . . . . . . . . . . . 51.1.3 Taylorpolynome in MATLAB . . . . . . . . . . . . . . . . 61.1.4 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.2 Fourierreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.3 Fourierpolynome in MATLAB . . . . . . . . . . . . . . . 14

    2 Lineare Gleichungssysteme 142.1 Direkte Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.1.1 Gausssches Eliminationsverfahren und LR-Zerlegung . . . 152.1.2 LR-Zerlegung mit Spaltenpivotsuche (Spaltenpivotisierung) 24

    2.2 Iterative Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.1 Jacobi-Verfahren (Gesamtschrittverfahren) . . . . . . . . 282.2.2 Gauss-Seidel-Verfahren (Einzelschrittverfahren) . . . . . . 322.2.3 Allgemeine Splitting-Verfahren und Konvergenz . . . . . . 352.2.4 Krylow-Unterraum-Verfahren . . . . . . . . . . . . . . . . 36

    3 Interpolation 363.1 Polynominterpolation . . . . . . . . . . . . . . . . . . . . . . . . 373.2 Spline-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 43

    1

  • 0 BERBLICK 2

    4 Numerisch Differenzieren und Integrieren 484.1 Numerische Differenziation . . . . . . . . . . . . . . . . . . . . . 48

    4.1.1 Numerische Differenziation mit Hilfe der Interpolation . . 484.1.2 Numerische Differenziation mit Hilfe von Differenzenquo-

    tienten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.2 Numerische Integration . . . . . . . . . . . . . . . . . . . . . . . 58

    4.2.1 Interpolatorische Quadraturformeln . . . . . . . . . . . . 584.2.2 Zusammengesetzte Quadraturformeln . . . . . . . . . . . 624.2.3 Gauss-(Legendre-)Quadratur . . . . . . . . . . . . . . . . 64

    5 Numerik nichtlinearer Gleichungen und Gleichungssysteme 655.1 Das Newton-Verfahren fr n = 1 . . . . . . . . . . . . . . . . . . 675.2 Das Newton-Verfahren fr n > 1 . . . . . . . . . . . . . . . . . . 69

    6 Lineare und nichtlineare Ausgleichsrechnung 716.1 Die Methode der kleinsten Quadrate fr lineare Ausgleichspro-

    bleme (QR-Zerlegung) . . . . . . . . . . . . . . . . . . . . . . . . 726.2 Die Methode der kleinsten Quadrate fr nichtlineare Ausgleichs-

    probleme (Gauss-Newton-Verfahren) . . . . . . . . . . . . . . . . 74

    7 Numerik gewhnlicher Differenzialgleichungen 777.1 Einschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    7.1.1 Explizites und implizites Euler-Verfahren . . . . . . . . . 797.1.2 Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . 83

    8 Randwertprobleme 86

    0 berblickIn dieser einsemestrigen Vorlesung ber Numerik fr Energie- und Umwelttech-nik sollen einige wichtige Verfahren der numerischen Mathematik jeweils kurzbehandelt und auch von den Studierenden programmiert werden.

    Approximation: Taylor- und Fourier-Reihen

    Numerik gewhnlicher Differenzialgleichungen und -gleichungssysteme anausgewhlten Beispielen: Runge-Kutta-Verfahren

    Numerik linearer und nichtlinearer Gleichungen und Gleichungssysteme

    Interpolation: Lagrange- und Newton-Interpolation sowie Splines

    Lineare und nichtlineare Ausgleichsrechnung

    Numerisch Differenzieren und Integrieren

    Randwertprobleme und partielle Differenzialgleichungen an ausgewhltenBeispielen: Finite-Differenzen- und Finite-Elemente-Methoden

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 3

    1 Approximation: Taylor- und FourierreihenIn diesem Kapitel werden wir aufzeigen, dass sich differenzierbare Funktio-nen durch Taylorpolynome und periodische Funktionen durch Fourierpolynomeapproximieren lassen. Durch einen formalen Grenzbergang im Polynomgrad,n, erhalten wir Taylor- bzw. Fourierreihen.

    1.1 Taylor-ReihenWir erinnern uns an die Taylor-Formel (nach B. Taylor, 16851731) mit Lagrange-Restglied (J. L. Lagrange, 17361813):

    Satz 1 (Taylor-Formel mit Lagrange-Restglied) Sei I R ein Intervall undf : I R eine (n+ 1)-mal differenzierbare Funktion, n N0. Dann gilt fr allea, x I:

    f(x) = (Tnf) (x; a) + (Rnf) (x; a), (1)

    mit dem n-ten Taylorpolynom an der Entwicklungsstelle a:

    (Tnf) (x; a) :=

    nk=0

    f (k)(a)

    k!(x a)k (2)

    = f(a) + f (a) (x a) + 12f (a) (x a)2 +

    + f(n)(a)

    n!(x a)n .

    Fr das n-te (Lagrangesche) Restglied (Rnf) (x; a) gilt:

    (0, 1) : (Rnf) (x; a) =f (n+1) ((1 )a+ x)

    (n+ 1)!(x a)n+1 . (3)

    Bemerkungen:

    Die j-te Ableitung des n-ten Taylorpolynoms von f ist das (n j)-teTaylorpolynom der j-ten Ableitung von f :

    (Tnf)(j)

    = Tnjf(j), j = 0, . . . , n. (4)

    Wegen (Tnf) (a; a) = f(a), n N0, stimmen an der Stelle x = a dieAbleitungen von Tnf mit den Ableitungen von f berein:

    (Tnf)(j)

    (a; a)(4)=(Tnjf

    (j))

    (a; a) = f (j)(a), j = 0, . . . , n. (5)

    Ist die Funktion f in einer Umgebung der Entwicklungsstelle a beliebig oftdifferenzierbar und erfllt das Restglied in dieser Umgebung

    limn

    (Rnf) (x; a) = 0,

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 4

    dann ist f analytisch bei a, also in eine Taylor-Reihe entwickelbar:

    (Tf) (x; a) :=

    n=0

    f (n)(a)

    n!(x a)n . (6)

    Die Taylor-Reihe von f stimmt in ihrem Konvergenzbereich (!) mit derFunktion f berein; man nennt sie auch die Taylor-Entwicklung von f .Die Taylor-Reihe mit Entwicklungsstelle a = 0 heisst auch Maclaurin-Reihe (nach C. Maclaurin, 16981746):

    (Tf) (x; 0) =

    n=0

    f (n)(0)

    n!xn. (7)

    Beispiel: f(x) = ln(x), x0 = 1. Wir berechnen zunchst die Ableitungen von fan der Stelle x0:

    n = 0 : f(x) = ln(x), f(1) = 0,n = 1 : f (x) = 1x , f

    (1) = 1,n = 2 : f (x) = 1x2 , f

    (1) = 1,n = 3 : f (3)(x) = 12x3 , f

    (3)(1) = 1 2,n = 4 : f (4)(x) = 123x4 , f

    (4)(1) = 1 2 3.

    Die n-te Ableitung von f ist gegeben durch

    f (n)(x) =

    {ln(x), n = 0

    (1)n+1 (n1)!xn , n 1,

    und damit erhalten wir an der Stelle x0 = 1:

    f (n)(1) =

    {0, n = 0(1)n+1 (n 1)!, n 1 .

    Durch Einsetzen in (6) erhalten wir die Taylor-Reihe

    (Tf) (x; 1) =

    n=1

    (1)n+1

    n(x 1)n (8)

    = x 1 (x 1)2

    2+

    (x 1)3

    3 (x 1)

    4

    4+

    1.1.1 Erinnerung: Konvergenzradius

    Fr eine reelle Zahlenfolge an und eine Entwicklungsstelle x0 R betrachtenwir die Potenzreihe

    P (x) :=

    n=0

    an (x x0)n . (9)

    Die Funktion P ist gemss (9) fr all jene x R definiert, fr welche die rechteSeite konvergent ist, d. h. der Definitionsbereich von P entspricht dem Konver-genzbereich der Potenzreihe.

    Der Konvergenzradius einer Potenzreihe (9) wird berechnet durch

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 5

    r = limn

    anan+1, falls an 6= 0, n N, oder

    r = 1limn

    n|an|

    ,

    falls die Grenzwerte existieren. Potenzreihen (9) sind konvergent fr |xx0| < rund divergent fr |x x0| > r. Fr |x x0| = r muss die Konvergenz gesondertuntersucht werden.Bemerkung: Sowohl r = 0 (Konvergenz nur bei x = x0) wie auch r = (Konvergenz fr alle x R) sind mglich!Beispiel (Forts.): Die Taylor-Reihe (8) ist eine Potenzreihe mit x0 = 1 und

    an =(1)n+1

    n 6= 0, n N, und daher

    r = limn

    anan+1 = limn n+ 1n = limn

    (1 +

    1

    n

    )= 1 + lim

    n

    1

    n= 1.

    Die Taylor-Reihe (8) ist also konvergent fr |x1| < 1 und divergent fr |x1| >1. Fr |x 1| = 1 erhalten wir die harmonischen Reihen

    x = 0 :

    n=1

    (1)2n+1

    n=

    n=1

    1

    n(divergent),

    x = 2 :

    n=1

    (1)n+1

    n=

    n=1

    (1)n

    n(konvergent).

    Der Konvergenzbereich der Taylor-Reihe (8) ist also gegeben durch das halbof-fene Intervall (0, 2].

    1.1.2 Approximationsfehler, O-Notation

    Der Fehler bei der Approximation einer Funktion f durch ihr n-tes Taylorpoly-nom (der Approximationsfehler) ist gegeben durch den Absolutbetrag des n-tenRestglieds:

    |f(x) (Tnf) (x; a)| = |(Rnf) (x; a)| .Falls die (n+ 1)-te Ableitung von f beschrnkt ist im Intervall I, d. h. falls

    M R :f (n+1)(x) M x I,

    so knnen wir den Approximationsfehler mit der Restgliedformel von Lagrange(3) abschtzen durch

    |(Rnf) (x; a)| M

    (n+ 1)!|x a|n+1 , x I.

    Im Grenzbergang x a gilt dann

    limxa

    (Rnf) (x; a)(x a)n+1 M(n+ 1)! =: Mn R. (10)

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 6

    In diesem Fall schreiben wir (Rnf) (x; a) = O((x a)n+1

    ), x a. Die Schreib-

    weise drckt aus, dass fr x a das n-te Restglied (Rnf) (x; a) mindestensso schnell gegen 0 geht wie (x a)n+1. Damit knnen wir fr eine (n + 1)-maldifferenzierbare Funktion f auch schreiben:

    f(x) =

    nk=0

    f (k)(a)

    k!(x a)k +O

    ((x a)n+1

    ), x a. (11)

    Die Schreibweise (11) werden wir in dieser Vorlesung noch einige Male verwen-den.

    1.1.3 Taylorpolynome in MATLAB

    Der MATLAB-Befehl taylor kann zur (symbolischen) Berechnung von Tay-lorpolynomen verwendet werden. Das 5. Taylorpolynom der (natrlichen) Ex-ponentialfunktion mit Entwicklungsstelle a = 0 wird z. B. durch die Eingabevon

    >> syms x % x ist eine symbolische (unabhaengige) Variable>> T5 = taylor(exp(x)) % T5 ist ebenfalls eine symbolische>> % (abhaengige) Variable

    berechnet. Ausserdem gibt es den Taylor series calculator taylortool. Umden Funktionsgraphen eines Taylorpolynoms mit dem MATLAB-Befehl plot zuzeichnen, bentigen wir Vektoren anstatt symbolische Variablen. Wir erzeugeneinen Vektor mit Werten auf der x-Achse und berechnen die entsprechendenFunktionswerte mit den MATLAB-Befehlen subs und eval:

    >> xx = -5:0.01:5; % xx ist ein Vektor mit Zahlen zwischen -5 und 5>> yy = eval(subs(T5,x,xx)); % in T5 wird die symbolische Variable x>> % durch den Vektor xx ersetzt (subs)>> % und ausgewertet (eval)>> % --> yy ist ebenfalls ein Vektor,>> % der die Funktionswerte von T5>> % an den Stellen xx enthaelt>> plot(xx,exp(xx),xx,yy) % Zeichnen der beiden Funktionsgraphen

    1.1.4 Anwendungen

    Nherungspolynome von Funktionen Der Graph der linearen Funktion(T1f) (x; a) heisst die Tangente an den Graphen der Funktion f an der Stelle a.Der Graph der quadratischen Funktion (T2f) (x; a) heisst die Schmiegeparabelan den Graphen der Funktion f an der Stelle a. Fr beliebig oft differenzierbareFunktionen f knnen wir auch den Grad des Taylorpolynoms beliebig hochwhlen.Bemerkung: Ist die Funktion f selbst eine Polynomfunktion vom Grad n, so istdie Approximation durch das n-te Taylorpolynom exakt, d. h. der Approxima-tionsfehler ist Null.

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 7

    Beispiel: f(x) = x2 3x + 1 =(x 32

    )2 54 . Wir berechnen die Ableitun-gen f (x) = 2x 3, f (x) = 2, f (k)(x) = 0, k 3. Daher gilt fr die n-tenTaylorpolynome mit einer beliebige Entwicklungsstelle a R:

    (T0f) (x; a) = f(a) = a2 3a+ 1,

    (T1f) (x; a) = f(a) + f(a)(x a) = a2 3a+ 1 + (2a 3) (x a)

    = (2a 3)x a2 + 1,

    (Tnf) (x; a) = f(a) + f(a)(x a) + 1

    2f (a)(x a)2

    = a2 3a+ 1 + (2a 3) (x a) + 12 2(x a)2

    = x2 3x+ 1 = f(x), n 2.

    Weitere Beispiele fr Nherungspolynome von Funktionen finden Sie in denbungen.

    Integration durch Taylor-Entwicklung des Integranden Die Berech-nung von Integralen mit Hilfe des Hauptsatzes der Differenzial- und Integral-rechnung erfordert die Kenntnis einer Stammfunktion des Integranden:

    ba

    f(x) dx = F (b) F (a) = F (x)|ba ,

    wobei F eine beliebige Stammfunktion von f ist (d. h. F f). Es gibt nunaber Funktionen, deren unbestimmte Integrale (Menge aller Stammfunktionen)sich nicht mit elementaren Funktionen ausdrcken lassen, z. B.

    sin(x)

    xdx,

    sin(x2)

    dx,

    ex

    2

    dx,

    1

    ln(x)dx,

    ex

    xdx.

    Falls sich der Integrand in eine Potenzreihe entwickeln lsst, so kann man diese(in ihrem Konvergenzbereich) gliedweise integrieren und so eine Potenzreihe desunbestimmten Integrals erhalten.Beispiel: Sei f(x) = sin(x2). Die Maclaurin-Reihe der Sinusfunktion ist gegebendurch

    sin(t) =

    n=0

    (1)n t2n+1

    (2n+ 1)!, t R.

    Wir ersetzen t = x2 und integrieren gliedweise mit der Potenzregel:sin(x2)

    dx =

    n=0

    (1)n

    (2n+ 1)!

    x2(2n+1) dx =

    n=0

    (1)nx4n+3

    (4n+ 3)(2n+ 1)!+ C

    =x3

    3 x

    7

    7 3!+

    x11

    11 5! x

    15

    15 7!+ + C,

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 8

    mit Integrationskonstante C R. Nun knnen wir z. B. das folgende bestimmteIntegral beliebig genau approximieren:

    I :=

    10

    sin(x2)

    dx 'Nn=0

    (1)n

    (4n+ 3) (2n+ 1)!=: SN .

    Der Approximationsfehler nimmt sehr schnell ab fr zunehmendes N (Vergleichmit einer Referenzlsung fr I ' 0.310268):

    N 0 1 2 3 4|I SN | 2.31 102 7.44 104 1.31 105 1.44 107 1.08 109

    1.2 Fourierreihen1.2.1 Definitionen

    Sei f : R R eine periodische Funktion, d. h.

    L > 0 : f(x+ L) = f(x) x R (12)

    (blicherweise sind wir an der kleinstmglichen Periode L > 0 interessiert).Dann ist die Fourierreihe von f (nach J. Fourier, 17681830) gegeben durch

    f(x) =a02

    +

    n=1

    (an cos (nx) + bn sin (nx)) (13)

    =a02

    +

    n=1

    An sin (nx+ n) , :=2

    L, (14)

    mit an = An sin(n), bn = An cos(n), n N, und mit den Fourierkoeffizienten

    an =2

    L

    x0+Lx0

    f(x) cos (nx) dx, n N0, (15)

    bn =2

    L

    x0+Lx0

    f(x) sin (nx) dx, n N, (16)

    wobei x0 R beliebig ist.In (14) steht eine berlagerung von harmonischen Schwingungen mit Am-

    plituden |An|, Kreisfrequenzen n = n = 2nL und Nullphasenwinkeln n,n N.

    Analog zum n-ten Taylorpolynom ist das n-te Fourierpolynom gegeben durchdie n-te Partialsumme der Fourierreihe:

    fn(x) :=a02

    +

    nk=1

    (ak cos (kx) + bk sin (kx)) , n N0. (17)

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 9

    Das n-te Fourierpolynom fn ist eine Polynomfunktion in sin(x) und cos(x)(trigonometrisches Polynom), denn nach den Mehrfachwinkelformeln gelten jaz. B.

    cos(2x) = 2 cos2(x) 1,cos(3x) = 4 cos3(x) 3 cos(x),cos(4x) = 8 cos4(x) 8 cos2(x) + 1,

    usw., sowie hnliche Formeln fr sin(kx), k = 1, . . . , n.

    1.2.2 Beispiele

    1. Fr L > 0 betrachten wir die Sgezahnwelle

    f(x) :=x

    L, x [0, L) , f(x+ kL) := f(x), k Z.

    Die Funktion ist offensichtlich periodisch mit Periode L. Fr die Berech-nung der Fourierkoeffizienten whlen wir x0 = 0 und erhalten, mit parti-eller Integration:

    a0 =2

    L

    L0

    x

    Ldx =

    2

    L2x2

    2

    L0

    =2

    L2L2

    2= 1,

    an =2

    L

    L0

    x

    Lcos (nx) dx, :=

    2

    L,

    =2

    L2

    x 1n

    sin (nx)

    L0

    1n

    L0

    sin (nx) dx

    =

    2

    L2

    (x

    1

    nsin (nx)

    L0

    +1

    n22cos (nx)|L0

    )L=2

    = 0, n N,

    bn =2

    L

    L0

    x

    Lsin (nx) dx

    =2

    L2

    x 1n

    cos (nx)

    L0

    +1

    n

    L0

    cos (nx) dx

    =

    2

    L2

    (x 1

    ncos (nx)

    L0

    +1

    n22sin (nx)|L0

    )L=2

    =2

    L2

    ( Ln

    )= 2

    nL= 1

    n, n N.

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 10

    Also ist die Fourierreihe von f gegeben durch

    f(x) =1

    2n=1

    1

    nsin (nx) , =

    2

    L.

    0.5 0 0.5 1 1.50.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    x/L

    y

    y = f(x)y = f

    3(x)

    y = f10

    (x)

    y = f40

    (x)

    Die Amplituden der berlagerten harmonischen Schwingungen sind gege-ben durch

    |An| =a2n + b

    2n =

    1

    n, n N.

    2. Fr L > 0 und (0, 1) betrachten wir die Rechteckschwingung

    f(x) :=

    {1, x [0, L)0, x [L,L) , f(x+ kL) := f(x), k Z.

    Die Funktion ist L-periodisch. Fr die Berechnung der Fourierkoeffizientenwhlen wir x0 = 0 und erhalten

    a0 =2

    L

    L0

    f(x) dx =2

    L

    L0

    1 dx+

    LL

    0 dx

    = 2LL = 2,

    an =2

    L

    L0

    cos (nx) dx =2

    L

    1

    nsin (nx)|L0 , :=

    2

    L,

    =1

    nsin (nL) =

    sin (2n)

    n, n N,

    bn =2

    L

    L0

    sin (nx) dx = 2L

    1

    ncos (nx)|L0

    = 1n

    (cos (nL) 1) = 1 cos (2n)n

    , n N.

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 11

    Daher ist die Fourierreihe von f gegeben durch

    f(x) = +

    n=1

    (sin (2n)

    ncos (nx) +

    1 cos (2n)n

    sin (nx)

    ),

    mit = 2L . Die Amplituden der berlagerten harmonischen Schwingun-gen sind gegeben durch

    |An| =a2n + b

    2n =

    2 |sin (n)|n

    , n N.

    Speziell ist der Fall = 12 (symmetrische Rechteckschwingung), fr denalle geraden Fourierkoeffizienten verschwinden:

    f 12(x) =

    1

    2+

    n=1

    1 (1)n

    nsin (nx)

    =1

    2+

    n=1

    n ungerade

    2

    nsin (nx) , =

    2

    L.

    Die Grenzwerte fr 0 und 1 sind gegeben durch die konstantenFunktionen

    lim0

    f(x) = 0, lim1

    f(x) = 1, x R.

    0.5 0 0.5 1 1.50.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    y

    0.5 0 0.5 1 1.50.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    x/L

    y

    y = f1/3

    (x)

    y = f1/3,3

    (x)

    y = f1/3,10

    (x)

    y = f1/3,40

    (x)

    y = f1/2

    (x)

    y = f1/2,3

    (x)

    y = f1/2,10

    (x)

    y = f1/2,40

    (x)

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 12

    3. Fr L > 0 betrachten wir die Dreieckschwingung

    f(x) :=2

    L|x|, x [L/2, L/2) , f(x+ kL) = f(x), k Z.

    Fr die Berechnung der Fourierkoeffizienten whlen wir x0 = L/2 underhalten

    a0 =2

    L

    L/2L/2

    2

    L|x|dx = 4

    L2

    0L/2

    (x) dx+L/20

    xdx

    =

    4

    L2

    ( x

    2

    2

    0L/2

    +x2

    2

    L/20

    )=

    4

    L2

    (L2

    8+L2

    8

    )= 1,

    an =2

    L

    L/2L/2

    2

    L|x| cos (nx) dx, := 2

    L,

    =4

    L2

    0L/2

    x cos (nx) dx+

    L/20

    x cos (nx) dx

    =

    8

    L2

    L/20

    x cos (nx) dx = 2(1)n 12n2

    , n N,

    bn =2

    L

    L/2L/2

    2

    L|x| sin (nx) dx

    =4

    L2

    0L/2

    x sin (nx) dx+

    L/20

    x sin (nx) dx

    = 0, n N.

    Weil alle geraden Fourierkoeffizienten verschwinden, ist die Fourierreihevon f gegeben durch

    f(x) =1

    2

    n=1

    n ungerade

    4

    2n2cos (nx) , =

    2

    L.

  • 1 APPROXIMATION: TAYLOR- UND FOURIERREIHEN 13

    0.5 0 0.5 1 1.50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    x/L

    y

    y = f(x)y = f

    3(x)

    y = f10

    (x)

    y = f40

    (x)

    Die Amplituden der berlagerten harmonischen Schwingungen sind gege-ben durch

    |An| =a2n + b

    2n =

    {0, n gerade

    42n2 , n ungerade

    , n N.

    Fr diese drei Beispiele zeichnen wir die Amplitudenspektren (|An| als Funk-tion von n). Bei einem hrbaren Signal mit Grundfrequenz bestimmen dieAmplituden der Obertne (|An|, n 2) die Klangfarbe.

    100

    101

    102

    103

    106

    104

    102

    100

    n

    |An|

    Saegezahn

    Rechteck, = 1/3

    Rechteck, = 1/2

    Dreieck

    1/n

    1/n2

    Wir beobachten, dass die Amplituden fr die stetige Funktion (Dreieckschwin-gung) viel schneller abfallen mit zunehmendem n (|An| = O(n2), n) alsdie Amplituden der unstetigen Funktionen (Sgezahn- und Rechteckschwingung;|An| = O(n1), n). Auf die allgemeine Konvergenztheorie von Fourierrei-hen wollen wir hier nicht eingehen, aber man kann sagen, dass die Amplitudender berlagerten harmonischen Schwingungen desto schneller mit n abfallen, jeglatter die Funktion f ist.

    Beachten Sie auch die berschwinger der Fourierpolynome in der Nheder Unstetigkeitsstellen. Whrend diese fr zunehmendes n immer nher an dieUnstetigkeitsstelle rcken, nimmt ihre Amplitude nicht ab, sondern betrgt frn ca. 9 % der Sprunghhe! Dieses Gibbssche Phnomen (nach J. W. Gibbs,18391903) hat weitreichende Auswirkungen in der Signalverarbeitung.

  • 2 LINEARE GLEICHUNGSSYSTEME 14

    1.2.3 Fourierpolynome in MATLAB

    In MATLAB knnen wir die symbolische Integration verwenden, um die Fou-rierkoeffizienten an und bn nach (15), (16) zu berechnen.

    Fr die -periodische Funktion f(x) = sin2(x) ( = 2 = 2) berechnen wirz. B. die ersten 10 Fourierkoeffizienten und speichern sie in Vektoren a, b R10ab:

    >> syms x>> f = sin(x)^2;>> L = pi; % Periode der Funktion f>> w = 2*pi/L; % Kreisfrequenz>> n=0;>> a0 = 2/L*eval(int(f*cos(n*w*x),x,0,L));>> for n=1:10>> a(n) = 2/L*eval(int(f*cos(n*w*x),x,0,L));>> b(n) = 2/L*eval(int(f*sin(n*w*x),x,0,L));>> end

    Wir erhalten a0 = 1, a1 = 12 , an = 0, n 2, und bn = 0, n N. DieFourierreihe der Funktion f(x) = sin2(x) bricht also nach endlich vielen Gliedernab (!):

    f(x) = sin2(x) =1

    2 1

    2cos(x) =

    1

    2(1 cos (x)) =2= 1

    2(1 cos (2x)) .

    Dies htten wir natrlich auch mit dem Additionstheorem fr die Kosinusfunk-tion und mit dem Trigonometrischen Pythagoras beweisen knnen:

    cos(2x) = cos(x+ x) = cos(x) cos(x) sin(x) sin(x) = cos2(x) sin2(x)= 1 sin2(x) sin2(x) = 1 2 sin2(x).

    Daraus folgt f(x) = sin2(x) = 12 (1 cos(2x)).

    2 Lineare GleichungssystemeIn diesem Kapitel geht es um die numerische Lsung von linearen Gleichungs-systemen der Form

    Ax = b, (18)

    wobei die Matrix A Rnn und der Vektor b Rn (rechte Seite) gegebensind. Viele numerische Methoden, die wir spter noch in dieser Vorlesung sehenwerden, fhren die Lsung von komplizierteren Problemen auf die Lsung voneinem oder mehreren linearen Gleichungssystemen zurck; deshalb ist es wichtig,dass wir lineare Gleichungssysteme effizient numerisch lsen knnen.

    Im Allgemeinen gibt es drei Flle fr die Lsbarkeit von linearen Gleichungs-systemen (vgl. Vorlesung MLAE):

  • 2 LINEARE GLEICHUNGSSYSTEME 15

    Das lineare Gleichungssystem hat keine Lsung, z. B.(1 22 4

    )x =

    (13

    ),

    das lineare Gleichungssystem hat genau eine Lsung, z. B.(1 23 2

    )x =

    (13

    )(Lsung x =

    (10

    )),

    das lineare Gleichungssystem hat unendlich viele Lsungen, z. B.(1 22 4

    )x =

    (12

    )(Lsungen xt =

    (2t

    12 t

    ), t R).

    Wir nehmen im Folgenden an, dass unser lineares Gleichungssystem (18) genaueine Lsung hat. In diesem Fall ist A invertierbar und die Lsung von (18) gege-ben durch x = A1b. Zur numerischen Lsung von (18) werden wir aber nichtdie Inverse A1 berechnen, weil das zu aufwndig ist, wie wir sehen werden.

    Die Methoden zur Lsung solcher linearen Gleichungssysteme werden in di-rekte und iterative Verfahren aufgeteilt.

    2.1 Direkte VerfahrenEin direktes Verfahren zur numerischen Lsung von (18) liefert nach endlichvielen Schritten die Lsung x Rn, die bis auf Rundungsfehler (!) exakt ist.

    2.1.1 Gausssches Eliminationsverfahren und LR-Zerlegung

    Das Gausssche Eliminationsverfahren (nach C. F. Gauss, 17771855) ist eindirektes Verfahren zur Lsung linearer Gleichungssysteme. Es besteht aus denbeiden Etappen

    1. Vorwrtselimination: Verwendung von elementaren Zeilenumformungen,um das Gleichungssystem auf Stufenform zu bringen,

    2. Rckwrtseinsetzen: Ausrechnen der Variablen, beginnend bei der letztenZeile, und Einsetzen in die darberliegenden Zeilen.

    Beispiel Wir wenden das Gausssche Eliminationsverfahren auf das lineareGleichungssystem 3 2 52 1 0

    4 2 1

    x1x2x3

    = 3344

    (n = 3) an:

  • 2 LINEARE GLEICHUNGSSYSTEME 16

    1. Vorwrtselimination:3 2 52 1 04 2 1

    =A

    3344 =b

    3 2 5 330 73 103 18

    0 143233 40

    3 2 50 73

    103

    0 0 1 =:R

    3318

    4 =:y

    Bemerkung: Im k-ten Vorwrtseliminationsschritt werden die Elementeunterhalb der Diagonalen in der k-ten Spalte auf 0 gebracht. Es werdenn 1 solche Schritte bentigt, um das lineare Gleichungssystem auf Stu-fenform zu bringen.

    2. Rckwrtseinsetzen:3 2 50 73

    103

    0 0 1 =R

    3318

    4 =y

    x3=4 einsetzen 3 2 0 130 73 0 143

    0 0 1 4

    x2 ausrechnen

    3 2 0 130 1 0 20 0 1 4

    x2=2 einsetzen

    3 0 0 90 1 0 20 0 1 4

    x1 ausrechnen

    1 0 00 1 00 0 1

    I

    324 =x

    Wir erhalten also die Lsung x = (3,2, 4)>. Allgemein bringen wir bei derVorwrtselimination das Gleichungssystem Ax = b durch elementare Zeilenum-formungen auf die Form Rx = y, wobei R eine rechte (obere) Dreiecksmatrixist. Das neue Gleichungssystem kann dann durch Rckwrtseinsetzen gelst wer-den.

    LR-Zerlegung Fr die Lsung des linearen Gleichungssystems (18) mit einemComputerprogramm ist es praktisch, das Gausssche Eliminationsverfahren alsLR-Zerlegung A = LR mit einer linken (unteren) Dreiecksmatrix L und miteiner rechten (oberen) Dreiecksmatrix R zu interpretieren.

  • 2 LINEARE GLEICHUNGSSYSTEME 17

    Bemerkung: Im englischen Sprachraum heisst die LR-Zerlegung LU decompo-sition, und man schreibt A = LU mit einer lower triangular matrix L undeiner upper triangular matrix U .

    Sehen wir uns nmlich die Vorwrtseliminationsschritte im vorherigen Bei-spiel genauer an, so erkennen wir, dass sie als Matrixmultiplikationen mit sog. Fro-beniusmatrizen (nach F. G. Frobenius, 18491917) geschrieben werden knnen: 1 0 0 23 1 0

    43 0 1

    =:L1

    3 2 52 1 04 2 1

    =A

    =

    3 2 50 73 1030 143

    233

    =: A, 1 0 00 1 0

    0 2 1

    =:L2

    3 2 50 73 1030 143

    233

    =A

    =

    3 2 50 73 1030 0 1

    =R

    ,

    also L2A = L2L1A = R. Damit gilt tatschlich A = L11 L

    12

    =:L

    R, mit der

    unteren Dreiecksmatrix

    L = L11 L12 =

    1 0 023 1 0 43 0 1

    1 0 00 1 00 2 1

    = 1 0 02

    3 1 0 43 2 1

    ,und wir erhalten die LR-Zerlegung 3 2 52 1 0

    4 2 1

    =A

    =

    1 0 023 1 0 43 2 1

    =L

    3 2 50 73 1030 0 1

    =R

    . (19)

    Fr eine allgemeine (3 3)-Matrix gehen die Vorwrtssubstitutionen wiefolgt: a11 a12 a13a21 a22 a23

    a31 a32 a33

    a11 a12 a130 a22 a21a11 a12 a23 a21a11 a13

    0 a32 a31a11 a12 a33 a31a11a13

    =: a11 a12 a130 a21 a23

    0 a32 a33

    , a11 a12 a130 a22 a23

    0 a32 a33

    a11 a12 a130 a22 a23

    0 0 a33 a32a22 a23

    =: R,

  • 2 LINEARE GLEICHUNGSSYSTEME 18

    was wir wieder als Produkte mit Frobeniusmatrizen schreiben knnen: 1 0 0a21a11 1 0a31a11 0 1

    =:L1

    a11 a12 a13a21 a22 a23a31 a32 a33

    =A

    =

    a11 a12 a130 a22 a21a11 a12 a23 a21a11 a130 a32 a31a11 a12 a33

    a31a11a13

    =: A, 1 0 00 1 0

    0 a32a22 1

    =:L2

    a11 a12 a130 a22 a230 a32 a33

    =A

    =

    a11 a12 a130 a22 a230 0 a33 a32a22 a23

    = R.

    Es gilt also wieder L2A = L2L1A = R und damit A = L11 L

    12 R, mit der

    unteren Dreiecksmatrix

    L = L11 L12 =

    1 0 0a21a11

    1 0a31a11

    0 1

    1 0 00 1 00 a32a22 1

    = 1 0 0a21

    a111 0

    a31a11

    a32a22

    1

    .Fr eine allgemeine (n n)-Matrix A, n N erhalten wir den folgenden Pseu-docode zur Berechnung der LR-Zerlegung:

    L = In (Einheitsmatrix der Grsse n n)

    for k = 1, 2, . . . , n 1

    for i = k + 1, k + 2, . . . , n

    `ik =aikakk

    aik = 0

    for j = k + 1, k + 2, . . . , naij = aij `ikakj

    endend(nach dieser Schleife gilt aik = 0, i > k, d. h. in der k-ten Spalte sindalle Eintrge unterhalb der Diagonalen gleich 0)

    end

    R = A

    Beachten Sie, dass die Diagonalelemente von L gleich 1 sind.

    Lsung eines linearen Gleichungssystems mit Hilfe einer LR-ZerlegungDie Lsung des linearen GleichungssystemsAx = bmit Hilfe einer LR-Zerlegungder Matrix A erfolgt in drei Schritten:

    1. Bestimmung einer LR-Zerlegung der Matrix A = LR,

  • 2 LINEARE GLEICHUNGSSYSTEME 19

    2. Lsung des linearen Gleichungssystems Ly = b nach y(durch Vorwrtseinsetzen, s. u.),

    3. Lsung des linearen Gleichungssystems Rx = y nach x(durch Rckwrtseinsetzen, s. u.).

    Dieser Algorithmus folgt aus den quivalenten Umformungen

    Ax = b L Rx=:y

    = b Ly = bRx = y

    Vorwrtseinsetzen Wir betrachten wieder das lineare Gleichungssystem ausdem vorherigen Beispiel. Die Matrix A hat die LR-Zerlegung (19). Wir lsendas lineare Gleichungssystem Ly = b durch Vorwrtseinsetzen: 1 0 0 332

    3 1 0 4 43 2 1 4

    y1=33 einsetzen 1 0 0 330 1 0 18

    0 2 1 40

    y2=18 einsetzen

    1 0 0 330 1 0 180 0 1 4

    Wir erhalten also die Lsung y = (33,18, 4)>.

    Fr eine allgemeine linke (untere) Dreiecksmatrix der Grsse 33 mit Einsenauf der Diagonalen geht das Vorwrtseinsetzen wie folgt: 1 0 0 b1`21 1 0 b2

    `31 `32 1 b3

    y1=b1 einsetzen 1 0 0 b10 1 0 b2 `21y1

    0 `32 1 b3 `31y1

    y2=b2`21y1 einsetzen

    1 0 0 b10 1 0 b2 `21y10 0 1 b3 (`31y1 + `32y2)

    Fr eine linke (untere) Dreiecksmatrix der Grsse n n mit Einsen auf derDiagonalen erhalten wir den folgenden Pseudocode fr das Vorwrtseinsetzen:

    y1 = b1

    for i = 2, . . . , n

    s = 0

    for j = 1, 2, . . . , i 1s = s+ `ijyj

    endyi = bi s

    end

  • 2 LINEARE GLEICHUNGSSYSTEME 20

    Rckwrtseinsetzen Wir lsen das lineare Gleichungssystem Rx = y mitder rechten (oberen) Dreiecksmatrix R aus (19) und mit der vorhin durch Vor-wrtseinsetzen berechneten rechten Seite y = (33,18, 4)>: 3 2 5 330 73 103 18

    0 0 1 4

    x3=4 einsetzen 3 2 0 130 73 0 143

    0 0 1 4

    x2 ausrechnen

    3 2 0 130 1 0 20 0 1 4

    x2=2 einsetzen

    3 0 0 90 1 0 20 0 1 4

    x1 ausrechnen

    1 0 0 30 1 0 20 0 1 4

    Wir erhalten also wieder die Lsung x = (3,2, 4)>.

    Fr eine allgemeine rechte (obere) Dreiecksmatrix der Grsse 3 3 geht dasRckwrtseinsetzen wie folgt: r11 r12 r13 y10 r22 r23 y2

    0 0 r33 y3

    x3 ausrechnen r11 r12 r13 y10 r22 r23 y2

    0 0 1 y3r33

    x3=

    y3r11

    einsetzen

    r11 r12 0 y1 r13x30 r22 0 y2 r23x30 0 1 y3r33

    x2 ausrechnen

    r11 r12 0 y1 r13x30 1 0 y2r23x3r220 0 1 y3r33

    x2=

    y2r23x3r22

    einsetzen

    r11 0 0 y1 (r13x3 + r12x2)0 1 0 y2r23x3r220 0 1 y3r33

    x1 ausrechnen

    1 0 0 y1(r13x3+r12x2)r110 1 0 y2r23x3r220 0 1 y3r33

  • 2 LINEARE GLEICHUNGSSYSTEME 21

    Fr eine rechte (obere) Dreiecksmatrix der Grsse n n erhalten wir den fol-genden Pseudocode fr das Rckwrtseinsetzen:

    xn =ynrnn

    for i = n 1, n 2, . . . , 1

    s = 0

    for j = i+ 1, i+ 2 . . . , ns = s+ rijxj

    end

    xi =yi srii

    end

    Rechenaufwand und Speicherplatzbedarf Die (n n)-Matrizen A, diebei der numerischen Lsung von Problemen aus der Praxis auftreten, sind oftsehr gross (n = 105 107). Wir wollen den Rechenaufwand und den Speicher-platzbedarf fr die vorher beschriebenen Algorithmen zur LR-Zerlegung undzum Vorwrts- und Rckwrtseinsetzen als Funktion von n berechnen. Fr denRechenaufwand zhlen wir nur Multiplikations- und Divisionsoperationen, undwir erhalten

    ALR(n) =

    n1k=1

    ni=k+1

    1 + nj=k+1

    1

    = n1k=1

    ni=k+1

    (1 + n k)

    =

    n1k=1

    (n k) (n k + 1) =n1k=1

    (k2 (2n+ 1) k + n(n+ 1)

    )=

    n1k=1

    k2 (2n+ 1)n1k=1

    k + (n 1)n(n+ 1)

    =(n 1)n(2n 1)

    6 (2n+ 1) (n 1)n

    2+ (n 1)n(n+ 1)

    =n3

    3 n

    3= O(n3), n,

    AVE(n) =

    ni=2

    i1j=1

    1 = = n2

    2 n

    2= O(n2), n,

    ARE(n) = 1 +

    n1i=1

    1 + nj=i+1

    1

    = = n22

    +n

    2= O(n2), n.

    Der gesamte Rechenaufwand zur Lsung eines linearen GleichungssystemsAx =b mit Hilfe einer LR-Zerlegung der Matrix A ist also gegeben durch

    ALGS(n) = ALR(n)+AVE(n)+ARE(n) =n3

    3+n2n

    3= O(n3), n. (20)

  • 2 LINEARE GLEICHUNGSSYSTEME 22

    Der Speicherplatzbedarf verhlt sich offensichtlich wie O(n2), n.

    Nebenprodukt der LR-Zerlegung: Determinante Ist die LR-ZerlegungA = LR einer Matrix berechnet, so kann man auch die Determinante von Aleicht berechnen. Es gilt nmlich

    det (A) = det (LR) = det (L) det (R) =

    ni=1

    rii, (21)

    wobei wir verwendet haben, dass L und R Dreiecksmatrizen sind und dass dieDiagonalelemente von L alle gleich 1 sind. Also kann auch die Determinanteeiner (n n)-Matrix mit Aufwand O(n3), n, berechnet werden.

    Fr die Matrix aus dem vorherigen Beispiel mit LR-Zerlegung (19) erhaltenwir die Determinante

    det

    3 2 52 1 04 2 1

    = det 3 2 50 73 103

    0 0 1

    = 3 73 1 = 7.

    Lsung fr mehrere rechte Seiten, Berechnung der Inversen Es seienm > 1 lineare Gleichungssysteme der Form Ax` = b`, ` = 1, . . . ,m, gegeben.Ein m-maliges Anwenden des vorhin beschriebenen Lsungsalgorithmus fhrtauf einen Rechenaufwand von

    mALGS(n) =mn3

    3+mn2 mn

    3.

    Insbesondere erhalten wir fr m = n einen Aufwand von O(n4), n!Da die Matrix A nicht von ` abhngt, mssen wir ihre LR-Zerlegung aber

    nur ein einziges Mal berechnen:

    Berechnung der LR-Zerlegung A = LR

    for ` = 1, 2, . . . ,m

    Lsung von Ly = b` nach y (Vorwrtseinsetzen)

    Lsung von Rx` = y nach x` (Rckwrtseinsetzen)

    end

    Der Rechenaufwand ist dann nur

    ALR(n) +m (AVE(n) +ARE(n)) =n3

    3+mn2 n

    3,

    und daher auch fr m = n nur O(n3), n.Als Anwendung knnen wir die Inverse von A mit Rechenaufwand O(n3),

    n , berechnen: Die Inverse der Matrix A ist Lsung der Matrixgleichung

  • 2 LINEARE GLEICHUNGSSYSTEME 23

    AA1 = I. Bezeichnen wir die `-te Spalte von A1 mit x`, so erhalten wirdie linearen Gleichungssysteme Ax` = e`, ` = 1, . . . , n, wobei e` den `-tenEinheitsvektor bezeichnet. Dies ist genau der Fall von oben mit m = n, und wirerhalten den folgenden Rechenaufwand fr die Berechnung der Inversen einer(n n)-Matrix:

    AINV(n) =4

    3n3 n

    3. (22)

    Zur Berechnung der Inversen der Matrix aus unserem Beispiel mssen wir diedrei linearen Gleichungssysteme 3 2 52 1 0

    4 2 1

    x1 = 10

    0

    , 3 2 52 1 04 2 1

    x2 = 01

    0

    , 3 2 52 1 04 2 1

    x3 = 00

    1

    lsen, wozu wir natrlich die bereits berechnete LR-Zerlegung (19) verwenden.Wir erhalten die Inverse

    A1 =

    3 2 52 1 04 2 1

    1 = 17

    1 8 52 23 100 14 7

    .Die Lsung des linearen GleichungssystemsAx = b kann auch als x = A1b

    berechnet werden, z. B.

    x = A1b =1

    7

    1 8 52 23 100 14 7

    3344

    = 17

    211428

    = 32

    4

    .Weil der Aufwand fr ein Matrix-Vektor-Produkt gleich n2 ist, erhalten wir frdiese Methode

    ALGS,INV(n) =4

    3n3 + n2 n

    3.

    Im Vergleich zu unserem vorher beschriebenen Lsungsalgorithmus mit Hilfeeiner LR-Zerlegung (Aufwand ALGS(n) (20)) erhalten wir

    ALGS,INV(n)

    ALGS(n)=

    43n

    3 + n2 n3n3

    3 + n2 n3

    =4 + 3n

    1n2

    1 + 3n 1n2

    n 4.

    Die Lsung eines linearen Gleichungssystems ber die Inverse der Matrix ist alsofr n & 100 etwa viermal aufwndiger als die Lsung des Gleichungssystems mitHilfe der LR-Zerlegung der Matrix.

  • 2 LINEARE GLEICHUNGSSYSTEME 24

    100

    101

    102

    103

    104

    105

    106

    2

    2.2

    2.4

    2.6

    2.8

    3

    3.2

    3.4

    3.6

    3.8

    4

    n

    AL

    GS

    ,IN

    V(n

    )/A

    LG

    S(n

    )

    2.1.2 LR-Zerlegung mit Spaltenpivotsuche (Spaltenpivotisierung)

    Im Algorithmus fr die LR-Zerlegung aus Kap. 2.1.1,

    L = In

    for k = 1, 2, . . . , n 1

    for i = k + 1, k + 2, . . . , n

    `ik =aikakk

    aik = 0

    for j = k + 1, k + 2, . . . , naij = aij `ikakj

    end

    end

    end

    R = A,

    heisst akk das Pivotelement im k-ten Vorwrtseliminationsschritt. Im Allgemei-nen kann im Verlauf des Algorithmus akk = 0 gelten, worauf der Algorithmuszusammenbricht (vgl. Serie 3, Aufg. 2a).

    Beispiel 3 6 52 4 04 2 1

    =:A

    1724 =:b

    3 6 5 170 0 103 403

    0 6 233563

  • 2 LINEARE GLEICHUNGSSYSTEME 25

    Um die Division durch Null zu vermeiden, kann eine Zeilenvertauschung vorge-nommen werden; diese Operation verndert nicht die Lsungsmenge: 3 6 5 172 4 0 24 2 1 4

    3 6 5 170 0 103 403

    0 6 233563

    23 3 6 5 170 6 233 563

    0 0 103 403

    Wir erhalten ein lineares Gleichungssystem in Stufenform, das wir durch Rck-wrtseinsetzen lsen knnen (Lsung x = (3,2, 4)>). Hier wurden im zweitenVorwrtseliminationsschritt einfach die zweite und die dritte Zeile vertauscht,so dass nach dieser Vertauschung das Pivotelement gleich 6 (also 6= 0) war.

    LR-Zerlegung mit Spaltenpivotsuche Im Prinzip kann im k-ten Vorwrts-eliminationsschritt ein beliebiges Pivotelement unterhalb der Diagonalen in derk-ten Spalte gewhlt werden das nennen wir Spaltenpivotsuche oder Spal-tenpivotisierung. Rechentechnisch ist es jedoch gnstig, wenn man jeweils dasbetragsgrsste Element als Pivotelement whlt (dies verhindert in der Regel dieDivision durch sehr kleine Zahlen, vgl. Serie 3, Aufg. 2b). Fr das lineare Glei-chungssystem aus dem vorherigen Beispiel fhrt diese Strategie auf die folgendeStufenform:

    3 6 52 4 04 2 1

    =A

    1724 =b

    13 4 2 1 42 4 0 2

    3 6 5 17

    4 2 1 40 3 12 40 92

    234 14

    23

    4 2 1 40 92 234 140 3 12 4

    4 2 10 92

    234

    0 0 103 =:R

    414 403 =:y

    Rckwrtseinsetzen fhrt auf die Lsung von Rx = y: x = (3,2, 4)>. Dieeinzelnen Vorwrtseliminationsschritte lassen sich wieder als Matrixprodukte

  • 2 LINEARE GLEICHUNGSSYSTEME 26

    mit Frobeniusmatrizen bzw. mit Permutationsmatrizen darstellen: 0 0 10 1 01 0 0

    =:P 1

    3 6 52 4 04 2 1

    =A

    =

    4 2 12 4 03 6 5

    , 1 0 01

    2 1 034 0 1

    =:L1

    4 2 12 4 03 6 5

    =P 1A

    =

    4 2 10 3 120 92

    234

    , 1 0 00 0 1

    0 1 0

    =:P 2

    4 2 10 3 120 92

    234

    =L1P 1A

    =

    4 2 10 92 2340 3 12

    ,

    1 0 00 1 00 23 1

    =:L2

    4 2 10 92 2340 3 12

    =P 2L1P 1A

    =

    4 2 10 92 2340 0 103

    =R

    .

    Es gilt alsoL2P 2L1P 1A = L2P 2L1P

    >2 P 2P 1A = R,

    wobei wir verwendet haben, dass Permutationsmatrizen orthogonal sind (P12 =P>2 ). Diese Gleichung lsst sich umschreiben zu PA = LR, mit einer Permu-tationsmatrix P und mit einer linken (unteren) Dreiecksmatrix L:

    P := P 2P 1 =

    0 0 11 0 00 1 0

    ,L :=

    (L2P 2L1P

    >2

    )1= P 2L

    11 P

    >2 L12 =

    1 0 0 34 1 0 12

    23 1

    .Ausgeschrieben gilt also 0 0 11 0 0

    0 1 0

    =P

    3 6 52 4 04 2 1

    =A

    =

    1 0 0 34 1 0 12

    23 1

    =L

    4 2 10 92 2340 0 103

    =R

    .

    Bemerkungen:

    In MATLAB berechnen Sie die LR-Zerlegung mit Spaltenpivotsuche mitdem Befehl [L,R,P] = lu(A) (vgl. Serie 3, Aufg. 3a).

  • 2 LINEARE GLEICHUNGSSYSTEME 27

    Der Algorithmus zur LR-Zerlegung mit Spaltenpivotsuche bricht genaudann zusammen, wenn die Matrix A singulr ist (d. h. er funktioniert frjede invertierbare Matrix!).

    Lsung eines linearen Gleichungssystems mit Hilfe einer LR-Zerlegungmit Spaltenpivotsuche Die Schritte zur Lsung des linearen Gleichungssys-tems Ax = b mit Hilfe einer LR-Zerlegung mit Spaltenpivotsuche lauten

    1. Bestimmung einer LR-Zerlegung mit Spaltenpivotsuche, PA = LR,

    2. Lsen von Ly = Pb nach y (Vorwrtseinsetzen),

    3. Lsen von Rx = y (Rckwrtseinsetzen).

    Fr das vorherige Beispiel erhalten wir

    Pb =

    0 0 11 0 00 1 0

    1724

    = 4172

    .Das Vorwrtseinsetzen geht dann wie folgt:

    1 0 0 34 1 0 12

    23 1

    =L

    4172 =Pb

    y1=4 einsetzen 1 0 0 40 1 0 14

    0 23 1 4

    y2=14 einsetzen

    1 0 00 1 00 0 1

    =I

    414 403 =:y

    ,Durch Rckwrtseinsetzen erhalten wir

    4 2 10 92

    234

    0 0 103 =R

    414 403 =y

    x3 ausrechnen 4 2 1 40 92 234 14

    0 0 1 4

    x3=4 einsetzen

    4 2 0 80 92 0 90 0 1 4

    x2 ausrechnen

    4 2 0 80 1 0 20 0 1 4

    x2=2 einsetzen

    4 0 0 120 1 0 20 0 1 4

  • 2 LINEARE GLEICHUNGSSYSTEME 28

    x1 ausrechnen

    1 0 00 1 00 0 1

    =I

    324 =x

    ,also wieder die Lsung x = (3,2, 4)>.

    Eine weitere Zerlegung von Matrizen, die QR-Zerlegung, werden wir im Ka-pitel ber lineare Ausgleichsprobleme (Kap. 6.1) kennen lernen.

    2.2 Iterative VerfahrenEin iteratives Lsungsverfahren fr lineare Gleichungssysteme konstruiert aus-gehend von einem Startwert x0 Rn eine Vektorfolge xk, die idealerweise frk gegen die Lsung x Rn von Ax = b, A Rnn, b Rn, konvergiert.In diesem Fall kann die Lsung mit Hilfe eines geeigneten Abbruchkriteriumsbeliebig genau approximiert werden. Iterative Verfahren bentigen oft viel we-niger Speicherplatz als direkte Verfahren und werden deshalb gerne fr grosseMatrizen A verwendet.

    2.2.1 Jacobi-Verfahren (Gesamtschrittverfahren)

    Dieses Verfahren ist nach C. G. J. Jacobi (18041851) benannt. Wir illustrierenes zunchst an einem Beispiel mit einer (3 3)-Matrix.

    Beispiel (n = 3): 5 2 31 2 02 1 4

    =:A

    x =

    31124

    =:b

    . (23)

    Wir whlen den Startwert x0 := 0 R3 (x0 ist offensichtlich keine Lsung von(23)). Im ersten Iterationsschritt lsen wir die folgenden Gleichungen fr denVektor x1 = (x1,1, x1,2, x1,3)

    >:

    5x1,1 2x0,2 + 3x0,3 = 31,x0,1 + 2x1,2 = 1,

    2x0,1 + x0,2 4x1,3 = 24.

    Nachdem der Startvektor x0 = 0 gewhlt wurde, lassen sich die Gleichungenleicht lsen:

    x1,1 =1

    5(31 + 2x0,2 3x0,3) = 6.2,

    x1,2 =1

    2(1 x0,1) = 0.5,

    x1,3 = 1

    4(24 + 2x0,1 x0,2) = 6,

  • 2 LINEARE GLEICHUNGSSYSTEME 29

    also x1 = (6.2,0.5, 6)>. Dieses Verfahren geht jetzt im gleichen Stil weiter,d. h. im k-ten Iterationsschritt wird der Vektor xk aus dem (bekannten) Vektorxk1 berechnet als Lsung der Gleichungen

    5xk,1 2xk1,2 + 3xk1,3 = 31,xk1,1 + 2xk,2 = 1,

    2xk1,1 + xk1,2 4xk,3 = 24,also

    xk,1 =1

    5(31 + 2xk1,2 3xk1,3) ,

    xk,2 =1

    2(1 xk1,1) ,

    xk,3 = 1

    4(24 + 2xk1,1 xk1,2) ,

    fr k N. Wir erhalten also eine Folge von Vektoren xk, deren erste Gliedergegeben sind durch

    k 2 3 4 5 6 7 8 9 10xk,1 2.40 3.10 3.18 2.96 3.03 3.01 3.00 3.00 3.00xk,2 3.60 1.70 2.05 2.09 1.98 2.01 2.01 2.00 2.00xk,3 2.78 3.90 4.03 3.90 4.00 3.99 3.99 4.00 4.00

    Die Vektorfolge konvergiert offenbar gegen x := (3,2, 4)>, und dies ist auchtatschlich die Lsung des linearen Gleichungssystems (23): 5 2 31 2 0

    2 1 4

    324

    = 31124

    .

    Jacobi-Verfahren Fr eine beliebig grosse Matrix A Rnn, n N, berech-nen wir im k-ten Iterationsschritt den Vektor xk Rn aus dem (bekannten)Vektor xk1 Rn als Lsung der Gleichungen

    a11xk,1 + a12xk1,2 + + a1nxk1,n = b1,a21xk1,1 + a22xk,2 + + a2nxk1,n = b2,

    ......

    . . .... =

    ...an1xk1,1 + an2xk1,2 + + annxk,n = bn.

    Die Lsung ist gegeben durch

    xk,1 =1

    a11(b1 (a12xk1,2 + + a1nxk1,n)) ,

    xk,2 =1

    a22(b2 (a21xk1,1 + + a2nxk1,n)) ,

    ...

    xk,n =1

    ann(bn (an1xk1,1 + an2xk1,2 + . . . )) ,

  • 2 LINEARE GLEICHUNGSSYSTEME 30

    oder kurz

    xk,i =1

    aii

    bi nj=1j 6=i

    aijxk1,j

    = 1aii

    bi + aiixk1,i nj=1

    aijxk1,j

    =

    1

    aii

    bi + nj=1

    (aiiij aij)xk1,j

    , i = 1, . . . , n, k N,mit dem Kronecker-Delta (L. Kronecker, 1823 1891)

    ij :=

    {1, i = j0, i 6= j . (24)

    In Matrix-Vektor-Schreibweise erhalten wir

    xk = D1 (b+ (D A)xk1)

    = D1 (D A)xk1 +D1b, k = 1, 2, 3, . . . , (25)

    mit der Diagonalmatrix

    D :=

    a11 0

    a22. . .

    0 ann

    , D1 =

    1a11

    01a22

    . . .0 1ann

    .Das Jacobi-Verfahren kann nur dann durchgefhrt werden, wenn die Diagonal-elemente der Matrix A ungleich 0 sind. Es ist ein sog. Splitting-Verfahren, weildie Matrix A wie folgt aufgeteilt (gesplittet) wird: A = D (D A).

    Abbruchkriterium Um beurteilen zu knnen, wie nahe der Vektor xk an derexakten Lsung x (die wir ja nicht kennen!) ist, betrachten wir das Residuumnach dem k-ten Iterationsschritt,

    rk := bAxk Rn, k N.

    Wenn xk x, k , mit Ax = b gilt, dann gilt rk 0, k . Daherknnen wir die Iteration z. B. dann abbrechen, wenn eine Norm des Residuums(z. B. die Euklidische Norm im Rn) unter eine vorher gewhlte Toleranz tol > 0fllt, wenn also rk tol gilt. Fr das vorherige Beispiel erhalten wir diefolgende Grafik fr die (Euklidische) Norm der Residuen rk:

  • 2 LINEARE GLEICHUNGSSYSTEME 31

    0 10 20 30 40 50 6010

    20

    1015

    1010

    105

    100

    k

    || r

    k ||

    Eine Toleranz tol := 106 wre in diesem Beispiel nach 17 Iterationen erreicht(r17 ' 6.43 107).

    Pseudocode Bei der Implementierung des Jacobi-Verfahrens auf einem Rech-ner verwenden wir zwei Vektoren x,xold Rn, die stndig mit neuen Wertenberschrieben werden. Wir erhalten den folgenden Pseudocode zur Lsung deslinearen Gleichungssystems Ax = b mit dem Jacobi-Verfahren:

    Setze k = 0, whle einen Startwert x Rn und eine Toleranz tol > 0

    while bAx > tol (Abbruchkriterium: bAx tol)

    k = k + 1 (k ist nur ein Zhler fr die Anzahl der Iterationen)

    xold = x

    for i = 1, 2, . . . , n

    s = 0

    for j = 1, 2, . . . , nif j 6= i

    s = s+ aijxoldj

    endend

    xi =bi saii

    end

    end

    Beachten Sie, dass die Eintrge xi, i = 1, . . . , n, in jedem Iterationsschritt par-allel berechnet werden knnen.

  • 2 LINEARE GLEICHUNGSSYSTEME 32

    Rechenaufwand Die Anzahl der Multiplikationen im k-ten Iterationsschrittdes Jacobi-Verfahrens ist gegeben durch

    AJ,k(n) =

    ni=1

    n

    j=1j 6=i

    1

    + 1 = n

    i=1

    (n 1 + 1) = n2 = O(n2), n.

    2.2.2 Gauss-Seidel-Verfahren (Einzelschrittverfahren)

    Das nach C. F. Gauss (17771855) und P. L. von Seidel (18211896) benannteVerfahren funktioniert hnlich wie das Jacobi-Verfahren, ist aber sequenziell.Im k-ten Iterationsschritt werden nmlich zur Berechnung von xk,i die bereitszuvor berechneten Eintrge xk,1, xk,2, . . . , xk,i1 hinzugezogen.

    Beispiel Im k-ten Iterationsschritt berechnen wir ausgehend vom Vektor xk1 R3 die Eintrge xk,i, i = 1, . . . , 3, schrittweise als Lsung der Gleichungen

    5xk,1 2xk1,2 + 3xk1,3 = 31,xk,1 + 2xk,2 = 1,

    2xk,1 + xk,2 4xk,3 = 24,

    fr k N. Wir erhalten also

    xk,1 =1

    5(31 + 2xk1,2 3xk1,3) ,

    xk,2 =1

    2(1 xk,1) ,

    xk,3 = 1

    4(24 + 2xk,1 xk,2) .

    Fr den Startvektor x0 = 0 R3 erhalten wir die folgenden ersten Glieder derVektorfolge xk:

    k 1 2 3 4 5 6 7 8 9xk,1 6.20 3.56 3.10 3.02 3.00 3.00 3.00 3.00 3.00xk,2 3.60 2.28 2.05 2.01 2.00 2.00 2.00 2.00 2.00xk,3 2.00 3.65 3.94 3.99 4.00 4.00 4.00 4.00 4.00

    Das Gauss-Seidel-Verfahren konvergiert fr dieses Beispiel schneller als das Jacobi-Verfahren, wie man auch an den Normen der Residuen sehen kann:

  • 2 LINEARE GLEICHUNGSSYSTEME 33

    0 10 20 30 40 50 6010

    20

    1015

    1010

    105

    100

    105

    k

    || r

    k ||

    GaussSeidel

    Jacobi

    Eine Toleranz tol := 106 wre mit dem Gauss-Seidel-Verfahren schon nach 11Iterationen erreicht (r11 ' 3.56 107).

    Gauss-Seidel-Verfahren Im Unterschied zum Jacobi-Verfahren werden zurLsung der i-ten Gleichung im k-ten Iterationsschritt die bereits berechnetenEintrge xk,1, xk,2, . . . , xk,i1 verwendet (Vorwrtseinsetzen), und wir erhalten

    xk,i =1

    aii

    bi i1j=1

    aijxk,j n

    j=i+1

    aijxk1,j

    , i = 1, . . . , n, k N. (26)Dies schreiben wir auch in der Form

    i1j=1

    aijxk,j + aiixk,i = bi n

    j=i+1

    aijxk1,j , i = 1, . . . , n, k N,

    und wir erhalten in Matrix-Vektor-Schreibweise

    xk = (L+D)1

    ((L+D)A)xk1 + (L+D)1 b, k = 1, 2, 3, . . . , (27)

    mit derselben Diagonalmatrix D wie im Jacobi-Verfahren sowie mit der linken(unteren) Dreiecksmatrix

    L :=

    0 0 0 0a21 0 0 0...

    .... . .

    ......

    an1,1 an1,2 0 0an1 an2 an,n1 0

    .

  • 2 LINEARE GLEICHUNGSSYSTEME 34

    Beachten Sie, dass diese Matrix L nichts mit der linken (unteren) Dreiecksmatrixaus der LR-Zerlegung (Kap. 2.1.1) zu tun hat!

    Die Aufteilung (splitting) der Matrix A ist beim Gauss-Seidel-Verfahrengegeben durch A = L+D (L+D A).

    Pseudocode Wir bentigen nur einen Vektor x Rn, der stndig mit neuenEintrgen berschrieben wird. Wir erhalten den folgenden Pseudocode zur L-sung des linearen Gleichungssystems Ax = b mit dem Gauss-Seidel-Verfahren:

    Setze k = 0, whle einen Startvektor x Rn und eine Toleranz tol > 0

    while bAx > tol (Abbruchkriterium: bAx tol)

    k = k + 1 (Zhler)

    for i = 1, 2, . . . , n

    s = 0

    for j = 1, 2, . . . , n

    if j 6= is = s+ aijxj

    end

    end

    xi =bi saii

    end

    end

    Rechenaufwand Wie das Jacobi-Verfahren bentigt auch das Gauss-Seidel-Verfahren AGS,k(n) = n2 = O(n2), n , Multiplikationen im k-ten Iterati-onsschritt.

    Das Gauss-Seidel-Verfahren lsst sich auch sehr leicht von Hand durchfhren,und dies wurde im 19. Jahrhundert natrlich gemacht. In einem Brief von 1823schrieb Gauss an C. L. Gerling (17881864) anschliessend an eine Erklrungseines Verfahrens:

    Ich empfehle Ihnen diesen Modus zur Nachahmung. Schwerlich wer-den Sie je wieder direct eliminiren, wenigstens nicht, wenn Sie mehrals 2 Unbekannte haben. Das indirecte Verfahren lsst sich halb imSchlafe ausfhren, oder man kann whrend desselben an andere Din-ge denken.

  • 2 LINEARE GLEICHUNGSSYSTEME 35

    2.2.3 Allgemeine Splitting-Verfahren und Konvergenz

    Es seien eine invertierbare Matrix A Rnn und ein Vektor b Rn gegeben,und gesucht sei die Lsung x Rn des linearen Gleichungssystems Ax = b.

    Sei B Rnn eine beliebige invertierbare Matrix, dann teilen wir die MatrixA wie folgt auf (splitting):

    A = B (B A) .

    Jetzt formen wir das lineare Gleichungssystem quivalent um in eine sog. Fix-punktgleichung:

    Ax = b,

    (B (B A))x = b,B1

    Bx (B A)x = b,xB1 (B A)x = B1b

    +B1 (B A)x ,x = B1 (B A)x+B1b =: (x),x = (x).

    Allgemeines Splitting-Verfahren Zur numerischen Lsung des linearen Glei-chungssystems Ax = b verwenden wir jetzt eine sog. Fixpunktiteration miteinem Startwert x0 Rn:

    xk = B1 (B A)

    =:M

    xk1 +B1b, k = 1, 2, 3, . . . . (28)

    Der Vektor xk Rn kann auch als Lsung des linearen GleichungssystemsBxk = (B A)xk1 + b interpretiert werden. Fr spezielle Wahlen der Ma-trix B erhalten wir die vorher behandelten Jacobi- und Gauss-Seidel-Verfahren,sowie zwei weitere Verfahren:

    B := D: Jacobi-Verfahren (vgl. (25)),

    B := L+D: Gauss-Seidel-Verfahren (vgl. (27)),

    B := 1In, R\{0}: Richardson-Verfahren (L. Richardson, 18811953),

    B := L+ 1D, R\{0}: Successive Over-Relaxation-(SOR)-Verfahren.

    Konvergenz Das Splitting-Verfahren (28) konvergiert genau dann gegen dieLsung x des linearen Gleichungssystems Ax = b, wenn der Spektralradius(M) der Matrix M = B1 (B A) die Ungleichung (M) < 1 erfllt. DerSpektralradius der Matrix M ist dabei definiert als

    (M) := max {|i(M)| | i {1, 2, . . . , n}} , (29)

    wobei i(M) C, i = 1, . . . , n, die Eigenwerte der Matrix M bezeichnen.Mit der (3 3)-Matrix aus dem vorherigen Beispiel erhalten wir (MJ) '

    0.500 und (MGS) ' 0.175 fr das Jacobi bzw. fr das Gauss-Seidel-Verfahren:

  • 3 INTERPOLATION 36

    1 0.5 0 0.5 11

    0.8

    0.6

    0.4

    0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Re

    Im

    Jacobi

    GaussSeidel

    Beide Verfahren konvergieren also fr diese Matrix. Fr die (3 3)-Matrix ausdem Beispiel in Kap. 2.1.2 gilt hingegen (MJ) ' 2.40 und (MGS) = 4, alsowerden sowohl das Jacobi- wie auch das Gauss-Seidel-Verfahren fr diese Ma-trix divergieren. Fr diese Matrix muss ein SOR-Verfahren mit einem geeignetgewhlten Wert fr den Parameter verwendet werden (s. bungen).

    Die Konvergenzordnung von Splitting-Verfahren ist 1, d. h.

    c (0, 1) : xk x c xk1 x , k N (30)

    (lineare Konvergenz ), wobei x Rn die exakte Lsung des linearen Gleichungs-systems Ax = b bezeichnet.

    2.2.4 Krylow-Unterraum-Verfahren

    Diese nach A. N. Krylow (18631945) benannten Verfahren bilden eine weiterewichtige Klasse von iterativen Verfahren zur Lsung von linearen Gleichungs-systemen, die wir hier aus Zeitgrnden nicht behandeln.

    3 InterpolationIn diesem Kapitel geht es um die Lsung des folgenden Interpolationsproblems:Fr n N0 seien n+ 1 Sttzpunkte

    (x0, y0), (x1, y1), (x2, y2), . . . , (xn, yn) R2,

    mit Sttzstellen x0, x1, x2, , xn R und mit Sttzwerten y0, y1, y2, . . . , yn Rgegeben. Die Sttzstellen sollen dabei paarweise verschieden sein, d. h. xi 6=xj , i 6= j. Die Sttzpunkte knnen z. B. durch Messungen einer unbekannten

  • 3 INTERPOLATION 37

    Funktion gewonnen werden. Gesucht ist eine Funktion (x; a0, a1, . . . , an) mitn+ 1 Parametern a0, a1, . . . , an R, deren Graph durch die n+ 1 Sttzpunktegeht die Werte der Parameter a0, a1, . . . , an sind also so zu bestimmen, dass

    (xi; a0, a1, . . . , an) = yi, i = 0, 1, . . . , n,

    gilt. Je nach Art der Ansatzfunktion unterscheiden wir zwei Arten von Inter-polationsproblemen:

    Bei einem linearen Interpolationsproblem hngt linear von den Parame-tern ab:

    (x; a0, a1, . . . , an) = a00(x) + a11(x) + + ann(x),

    mit beliebigen Funktionen 0,1, . . . ,n. Dazu zhlen die

    Polynominterpolation, z. B. mit

    (x; a0, a1, . . . , an) = a0 + a1x+ a2x2 + anxn. (31)

    trigonometrische Interpolation fr n N0 gerade (n = 2j, j N0):

    (x; a0, a1, . . . , aj , b1, . . . , bj) =a02

    +

    jk=1

    (ak cos(kx) + bk sin(kx)) ,

    wobei > 0 gegeben ist (vgl. j-tes Fourierpolynom aus Kap. 1.2).

    Ein Beispiel fr ein nichtlineares Interpolationsproblem ist die rationaleInterpolation, bei der

    (x; a0, a1, . . . , aj , b0, b1, . . . , bk1) =a0 + a1x+ a2x

    2 + ajxj

    b0 + b1x+ + bk1xk1 + xk

    gilt, mit j, k N0, j + k = n.

    Wir beschrnken uns im Folgenden auf die Polynominterpolation (31).Bemerkung: Die Unterscheidung zwischen linearen und nichtlinearen Interpola-tionsproblemen geschieht lediglich auf Grund der Abhngigkeit der Ansatzfunk-tion von den Parametern a0, . . . , an. Die Abhngigkeit der Funktion von xist hingegen in beiden Fllen beliebig und i. A. nichtlinear.

    3.1 PolynominterpolationBei der Polynominterpolation ist die Ansatzfunktion eine Polynomfunktion. Frn+ 1 gegebene Sttzpunkte (xi, yi) R2, i = 0, 1, . . . , n, ist also eine Polynom-funktion p vom Grad n gesucht mit

    p(xi) = yi, i = 0, 1, . . . , n. (32)

  • 3 INTERPOLATION 38

    Beispiel Es seien die drei Sttzpunkte (2, 13), ( 54 ,398 ) und (3, 18) gegeben.

    Das gesuchte Interpolationspolynom vom Grad n = 2 ist von der Form

    p(x) = a0 + a1x+ a2x2,

    mit noch zu bestimmenden Koeffizienten a0, a1, a2 R. Aus den Interpolations-bedingungen (32) erhalten wir die drei linearen Gleichungen

    a0 2a1 + 4a2 = 13, a0 +5

    4a1 +

    25

    16a2 =

    39

    8, a0 + 3a1 + 9a2 = 18,

    oder, in Matrix-Vektor-Schreibweise, 1 2 41 54 25161 3 9

    a0a1a2

    = 1339

    818

    . (33)Die Lsung von (33) ist gegeben durch a0 = 3, a1 = 1, a2 = 2, also ist dasgesuchte Interpolationspolynom gegeben durch p(x) = 3 x+ 2x2.

    Das so bestimmte Interpolationspolynom kann nun auch zwischen den Sttz-stellen ausgewertet werden, und damit knnen Werte an Stellen angegeben wer-den, an denen keine Messung erfolgt ist. So z. B. fr x = 0 (2 < 0 < 54 ):p(0) = 3.

    2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 32

    4

    6

    8

    10

    12

    14

    16

    18

    x

    y

    Interpolationspolynom y = p(x), deg(p) = 2Stuetzpunkte (x

    i,y

    i), i=0,1,2

    durch Interpolation erzeugter Punkt (0,3)

    Vektorraum der Polynome vom Grad n Fr n N0 definieren wir dieMenge aller Polynomfunktionen vom Grad kleiner oder gleich n als

    Pn := {p : R R | p Polynomfunktion, deg(p) n} . (34)

    Zusammen mit der Addition und Skalarmultiplikation von Polynomfunktionen,

    (p+ q) (x) := p(x) + q(x), p, q Pn,(p) (x) := p(x), p Pn, R,

    wird Pn zu einem (n+ 1)-dimensionalen Vektorraum ber R (vgl. MLAE).

  • 3 INTERPOLATION 39

    Eindeutigkeit der Lsung des Interpolationsproblems Seien p, q Pnzwei Lsungen des Interpolationsproblems (32), d. h. p(xi) = q(xi) = yi, i =0, 1, . . . , n. Dann ist r := p q Pn, und es gilt r(xi) = p(xi) q(xi) =yi yi = 0, i = 0, 1, . . . , n. r ist also eine Polynomfunktion vom Grad n mitn + 1 Nullstellen. Nach dem Fundamentalsatz der Algebra muss r 0 gelten,also p q.

    Daher hat das Interpolationsproblem (32) hchstens eine Lsung p Pn. DieExistenz einer Lsung hat J.-L. Lagrange (17361813) konstruktiv nachgewiesen(s. u.).

    Basisdarstellung des Interpolationspolynoms Sei {0,1, . . . ,n} Pneine Basis von Pn, und sei p Pn. Bzgl. dieser Basis hat die Polynomfunktionp die Darstellung

    p(x) = a00(x) + a11(x) + a22(x) + + ann(x), x R, (35)

    mit den Koeffizienten a0, a1, . . . , an R. Aus den Interpolationsbedingungen(32) erhalten wir n+ 1 lineare Gleichungen fr die n+ 1 unbekannten Koeffizi-enten a0, a1, . . . , an:

    a00(xi) + a11(xi) + a22(xi) + + ann(xi) = yi, i = 0, . . . , n,

    oder in Matrix-Vektor-Schreibweise0(x0) 1(x0) 2(x0) n(x0)0(x1) 1(x1) 2(x1) n(x1)

    ......

    .... . .

    ...0(xn) 1(xn) 2(xn) n(xn)

    ((n+1)(n+1))-Matrix

    a0a1...an

    =

    y0y1...yn

    . (36)

    Eine numerisch effiziente Berechnung des Interpolationspolynoms fr gegebeneSttzpunkte erfordert sowohl eine schnelle Lsung des linearen Gleichungssys-tems (36) zur Berechnung der Koeffizienten als auch eine schnelle Auswertungvon (35) an einer gegebenen Stelle x.

    Je nach Wahl der Basis von Pn gelingt dies mehr oder weniger gut, wie wirim Folgenden zeigen werden.

    Standardbasis (Monome) Die Standardbasisfunktionen von Pn sind dieMonome j(x) := xj , j = 0, . . . , n. Ausgewertet an den Sttzstellen erhaltenwir j(xi) = x

    ji , i, j = 0, . . . , n. Das lineare Gleichungssystem (36) hat daher in

    der Standardbasis die Form1 x0 x

    20 xn0

    1 x1 x21 xn1

    ......

    .... . .

    ...1 xn x

    2n xnn

    a0a1...an

    =

    y0y1...yn

    ,

  • 3 INTERPOLATION 40

    mit einer sog. Vandermonde-Matrix (nach A.-T. Vandermonde, 17351796). InMATLAB wird diese Matrix mit dem Befehl vander(x) aufgestellt, wobei imVektor x die Sttzstellen gespeichert sind. Mit dem Befehl a = vander(x)\ywird das Gleichungssystem gelst und die Koeffizienten a0, a1, . . . , an des In-terpolationspolynoms berechnet, wobei im Vektor y die Sttzwerte gespeichertsind. Der Rechenaufwand dafr ist O(n3), n (s. Kap. 2.1.1).

    Sind die Koeffizienten des Interpolationspolynoms berechnet, so kann es aneiner beliebigen Stelle x nach (35) ausgewertet werden:

    p(x) = a0 + a1x+ a2x2 + + anxn,

    was O(n2), n, Multiplikationen erfordert.Bemerkung: Die Auswertung des Interpolationspolynoms an einer Stelle ausser-halb des durch die kleinste und die grsste Sttzstelle begrenzten Intervalls wirdals Extrapolation bezeichnet.

    Die Auswertung des Interpolationspolynoms kann mit deutlich weniger Mul-tiplikationen erfolgen, wenn die folgende Darstellung verwendet wird:

    p(x) = a0 + x (a1 + x (a2 + x ( + x (an1 + xan)))) .

    Die Auswertung mit dem sog. Horner-Schema (W. G. Horner, 17861837) er-fordert nur O(n), n, Multiplikationen.

    In MATLAB erfolgt die Auswertung des Interpolationspolynoms mit demBefehl yy = polyval(a,xx) wobei im Vektor a die zuvor berechneten Koef-fizienten des Interpolationspolynoms gespeichert sind. Der Vektor xx enthltdiejenigen Werte, an denen das Interpolationspolynom ausgewertet werden soll.

    Lagrange-Basis (J.-L. Lagrange, 17361813) In der Lagrange-Basis,

    j(x) :=

    nk=0k 6=j

    x xkxj xk

    , j = 0, . . . , n, (37)

    gilt j(xi) = ij , i, j = 0, . . . , n, mit dem Kronecker-Delta (24). Damit steht imlinearen Gleichungssystem (36) die Einheitsmatrix:

    1 0 0 00 1 0 0...

    ......

    . . ....

    0 0 0 1

    a0a1...an

    =

    y0y1...yn

    ,und die Lsung ist daher gegeben durch ai = yi, i = 0, . . . , n. Dies erfordertberhaupt keine Multiplikationen. Das Interpolationspolynom ist gegeben durch(35):

    p(x) = y0

    nk=0k 6=0

    x xkx0 xk

    + y1

    nk=0k 6=1

    x xkx1 xk

    + y2

    nk=0k 6=2

    x xkx2 xk

    + + ynnk=0k 6=n

    x xkxn xk

    .

  • 3 INTERPOLATION 41

    Die Auswertung von p erfordert O(n2), n, Multiplikationen.Bemerkung: Mit dem Lagrange-Interpolationspolynom wurde eine Lsung desInterpolationsproblems (32) konstruiert und damit die Existenz einer Lsungnachgewiesen.

    Fr das vorherige Beispiel erhalten wir die Lagrange-Basisfunktionen

    0(x) =x 542 54

    x 32 3

    =3

    13 17

    65x+

    4

    65x2,

    1(x) =x (2)54 (2)

    x 354 3

    =96

    91+

    16

    91x 16

    91x2,

    2(x) =x (2)3 (2)

    x 543 54

    = 27

    +3

    35x+

    4

    35x2,

    und das Interpolationspolynom

    p(x) = 13

    (3

    13 17

    65x+

    4

    65x2)

    +39

    8

    (96

    91+

    16

    91x 16

    91x2)

    +

    +18

    (2

    7+

    3

    35x+

    4

    35x2)

    = 3 x+ 2x2.

    Die Lagrange-Interpolation ist insbesondere dann zu empfehlen, wenn mehrereStze von Sttzwerten an denselben Sttzstellen interpoliert werden sollen, weildann die Lagrange-Basisfunktionen nur einmal zu berechnen sind.

    Die Hinzunahme eines neuen Sttzpunktes ist hingegen aufwndig, weil alleBasisfunktionen (37) neu berechnet werden mssen.

    Newton-Basis (I. Newton, 16421727) In der Newton-Basis,

    0(x) := 1, j(x) :=

    j1k=0

    (x xk), j = 1, . . . , n, (38)

    gilt 0(xi) = 1, j(xi) =j1k=0

    (xi xk), j = 1, . . . , i, und j(xi) = 0, j =

    i + 1, . . . , n. Damit steht im linearen Gleichungssystem (36) eine linke untereDreiecksmatrix:

    1 0 0 01 x1 x0 0 0...

    ......

    . . ....

    1 xn x01k=0

    (xn xk) n1k=0

    (xn xk)

    a0a1...an

    =

    y0y1...yn

    .

    Das lineare Gleichungssystem kann also durch Vorwrtseinsetzen mit O(n2),n, Multiplikationen gelst werden (Kap. 2.1.1).

  • 3 INTERPOLATION 42

    In der Praxis werden zur Berechnung der Koeffizienten des Interpolationspo-lynoms sog. dividierte Differenzen (A. C. Aitken, 18951967, und E. H. Neville,18891961) verwendet, die wir hier anhand des vorherigen Beispiels illustrieren:

    xi yi2 1354

    398

    52

    3 18 152 2

    Die Koeffizienten des gesuchten Interpolationspolynoms stehen auf der Diago-nalen dieses Tableaus: a0 = 13, a1 = 52 , a2 = 2.

    Die Newtonsche Darstellung des Interpolationspolynoms ist gegeben durch

    p(x) = a0 + a1(x x0) + a2(x x0)(x x1) + + ann1k=0

    (x xk)

    = a0 + (x x0) (a1 + (x x1) (a2 + (x x2) ( + (x xn1)an))) .

    Letztere Darstellung kann an einer Stelle x mit O(n), n, Multiplikationenausgewertet werden (Horner-Schema).

    Fr das vorherige Beispiel sind die Newton-Basisfunktionen gegeben durch

    0(x) = 1,

    1(x) = x (2) = x+ 2,

    2(x) = (x (2))(x 5

    4

    )= 5

    2+

    3

    4x+ x2,

    und die Newtonsche Darstellung des Interpolationspolynoms ist gegeben durch

    p(x) = 13 1 52

    (x+ 2) + 2

    (5

    2+

    3

    4x+ x2

    )= 3 x+ 2x2.

    In der Newton-Basis ist die Hinzunahme eines Sttzpunktes sehr einfach, da le-diglich eine neue Basisfunktion und ein neuer Koeffizient berechnet werden ms-sen alle zuvor berechneten Basisfunktionen und Koeffizienten bleiben gleichund knnen wieder verwendet werden.

  • 3 INTERPOLATION 43

    Pseudocode Der folgende Pseudocode berechnet die Koeffizienten a0, . . . , ander Newtonschen Darstellung des Interpolationspolynoms fr die Sttzpunkte(xi, yi) R2, i = 0, . . . , n, mit O(n2), n, Multiplikationen mit dividiertenDifferenzen:

    for i = 0, 1, . . . , n

    ai = yi

    end

    for j = 1, 2, . . . , n

    for i = n, n 1, . . . , j

    ai =ai ai1xi xij

    end

    end

    Sind die Koeffizienten a0, . . . , an berechnet, kann das Interpolationspolynoman einer gegebenen Stelle x mit Hilfe des Horner-Schemas mit O(n), n ,Multiplikationen ausgewertet werden:

    p = an

    for i = n 1, n 2, . . . , 0

    p = ai + (x xi)p

    end

    3.2 Spline-InterpolationDie Polynominterpolation aus Kap. 3.1 hat den Nachteil, dass schon fr relativkleine Werte von n das Interpolationspolynom zwischen den Sttzstellen starkoszillieren kann. Als Beispiel betrachten wir die 6 Sttzpunkte (n = 5)

    i 0 1 2 3 4 5xi 0.065 0.197 0.251 0.473 0.616 0.852yi 0.352 0.831 0.585 0.917 0.550 0.286

    Sie liegen alle im Einheitsquadrat (0, 1)2. Der Graph des Interpolationspolynomsgeht aber stellenweise deutlich darber hinaus. Auch ist die Extrapolation meis-tens nicht sinnvoll, weil der Graph des Interpolationspolynoms ausserhalb desdurch die Sttzstellen begrenzten Intervalls extrem steil ist.

  • 3 INTERPOLATION 44

    1 0.5 0 0.5 1 1.5 23.5

    3

    2.5

    2

    1.5

    1

    0.5

    0

    0.5

    1

    1.5

    Daher wird oft die stckweise Polynominterpolation (Spline-Interpolation) ver-wendet. Die Ansatzfunktion (Spline-Funktion, nach I. J. Schoenberg (19031990)) fr die Interpolation ist also stckweise definiert:

    s(x) =

    s1(x), x [x0, x1]s2(x), x [x1, x2]...

    ...sn(x), x [xn1, xn]

    ,

    wobei die Funktionen si Polynomfunktionen vom Grad k sind, d. h. si Pk,i = 1, . . . , n, fr ein k N. Aus den Interpolationsbedingungen erhalten wir 2Gleichungen fr jede Polynomfunktion si:

    si(xi1) = yi1, si(xi) = yi, i = 1, . . . , n, (39)

  • 3 INTERPOLATION 45

    also insgesamt 2n Gleichungen. Die Funktion s hat hingegen (k+1)n Parameter(n Polynomfunktionen mit je k + 1 Parametern).

    Stckweise lineare Interpolation (k = 1) Fr den Fall k = 1 haben wir al-so bereits gengend viele Bedingungen, und wir erhalten die Interpolation durcheinen Polygonzug. Dabei werden einfach die Sttzpunkte durch Liniensegmenteverbunden:

    0 0.2 0.4 0.6 0.8 10

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Diese Interpolation wird von MATLAB automatisch ausgefhrt, wenn der Befehlplot(x,y) verwendet wird.

    Fr k > 1 hingegen reichen die 2n Gleichungen aus den Interpolationsbe-dingungen nicht aus, um die (k + 1)n > 2n Parameter der Ansatzfunktion s zubestimmen. Wir stellen daher weitere Bedingungen an die Polynomfunktionensi, nmlich dass die Werte der Ableitungen von benachbarten Polynomfunktio-nen an den Sttzstellen bereinstimmen:

    s(j)i (xi) = s

    (j)i+1(xi), j = 1, . . . , k 1, i = 1, . . . , n 1. (40)

    Mit diesen Bedingungen ist die stckweise definierte Funktion s (k 1)-malstetig differenzierbar, d. h. alle Ableitungen von s bis zur (k1)-ten sind stetig.Die Gleichungen (40) ergeben (k 1)(n 1) zustzliche Bedingungen, so dasswir jetzt (k 1)(n 1) + 2n = (k + 1)n (k 1) Bedingungen haben.

  • 3 INTERPOLATION 46

    Kubischer Spline (k = 3) Die Gleichungen (39) und (40) fhren auf diefolgenden 4n 2 Gleichungen fr die 4n Parameter der Funktion s:

    si(xi1) = yi1, i = 1, . . . , n,

    si(xi) = yi, i = 1, . . . , n,

    si(xi) = si+1(xi), i = 1, . . . , n 1,

    si (xi) = si+1(xi), i = 1, . . . , n 1.

    Die fehlenden zwei Gleichungen erhalten wir durch Randbedingungen an s. Hier-fr gibt es mehrere Mglichkeiten:

    natrlicher Spline: s1(x0) = 0, sn(xn) = 0 (freier Rand),

    periodischer Spline: s1(x0) = sn(xn), s1(x0) = sn(xn),

    hermitescher Spline (nach C. Hermite, 18221901): s1(x0) = y0, sn(xn) =yn, mit vorgegebenen Werten y0, yn R (eingespanner Rand),

    not-a-knot Spline: s(3)1 (x1) = s(3)2 (x1), s

    (3)n1(xn1) = s

    (3)n (xn1).

    Die Polynomfunktionen si und ihre Ableitungen haben die folgenden Darstel-lungen in der Standardbasis von P3:

    si(x) = ai,0 + ai,1x + ai,2x2 + ai,3x

    3,si(x) = ai,1 + 2ai,2x + 3ai,3x

    2,si (x) = 2ai,2 + 6ai,3x,

    s(3)i (x) = 6ai,3,

    fr i = 1, . . . , n. Wir erhalten also die folgenden linearen Gleichungen fr die 4nPolynomkoeffizienten ai,0, ai,1, ai,2, ai,3, i = 1, . . . , n:

    ai,0 + xi1ai,1 + x2i1ai,2 + x

    3i1ai,3 = yi1,

    ai,0 + xiai,1 + x2i ai,2 + x

    3i ai,3 = yi,

    fr i = 1, . . . , n und

    ai,1 + 2xiai,2 + 3x2i ai,3 ai+1,1 2xiai+1,2 3x2i ai+1,3 = 0,

    2ai,2 + 6xiai,3 2ai+1,2 6xiai+1,3 = 0,

    fr i = 1, . . . , n 1, sowie, je nach Randbedingungen, die beiden folgendenlinearen Gleichungen:

    kubisch natrlicher Spline: 2a1,2 + 6x0a1,3 = 0, 2an,2 + 6xnan,3 = 0,

    kubisch periodischer Spline: a1,1 + 2x0a1,2 + 3x20a1,3 = an,1 + 2xnan,2 +3x2nan,3, 2a1,2 + 6x0a1,3 = 2an,2 + 6xnan,3,

    kubisch hermitescher Spline: a1,1+2x0a1,2+3x20a1,3 = y0, an,1+2xnan,2+3x2nan,3 = y

    n,

  • 3 INTERPOLATION 47

    kubischer not-a-knot-Spline: 6a1,3 = 6a2,3, 6an1,3 = 6an,3.

    Fr die 6 Punkte (n = 5) aus dem vorherigen Beispiel erhalten wir ein linearesGleichungssystem mit einer (20 20)-Matrix mit dem folgenden Besetzungs-muster fr den kubischen natrlichen Spline:

    5 10 15 20

    2

    4

    6

    8

    10

    12

    14

    16

    18

    20

    Die drei kubischen Splines fr dieses Beispiel sehen so aus:

    0 0.2 0.4 0.6 0.8 10

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    kubisch natuerlicher Spline

    kubisch periodischer Spline

    kubisch hermitescher Spline

    kubischer notaknotSpline

    Spline-Interpolation in MATLAB In MATLAB knnen Sie die in den Vek-toren x und y gespeicherten Sttzpunkte mit dem Befehl yy = spline(x,y,xx)mit einem kubischen not-a-knot-Spline interpolieren und an den im Vektor xxgespeicherten Stellen auswerten.

    Fr das Beispiel von Runge aus Serie 6, Aufgabe 4, liefert der kubische not-a-knot-Spline auch bei quidistanten Sttzstellen noch eine gute Approximation:

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 48

    1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 10.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    x

    y

    y = 1/(1 + 25 x2)

    kubischer notaknotSpline

    Interpolationspolynom vom Grad 6

    Die Menge der stckweise polynomialen Funktionen (Spline-Funktionen) kann hnlich wie der Raum der Polynomfunktionen in Kap. 3.1 zu einem Vektor-raum gemacht werden. Als Basis fr diesen Vektorraum knnen die B-Splines(Basis-Splines) verwendet werden; jede Spline-Funktion kann dann als Linear-kombination von B-Splines dargestellt werden. Besonders wichtig fr die Dar-stellung von Freiformkurven und -flchen in CAD (computer-aided design, rech-neruntersttztes Konstruieren) und CAM (computer-aided manufacturing, rech-neruntersttzte Fertigung) sind die non-uniform rational B-Splines (NURBS).

    4 Numerisch Differenzieren und IntegrierenIn diesem Kapitel geht es darum, Ableitungen oder bestimmte Integrale frFunktionen auszuwerten, die z. B. als black box gegeben sind, oder fr die garnur eine Wertetabelle vorliegt.

    4.1 Numerische DifferenziationEine Funktion sei entweder als black box gegeben, oder es liege eine Wer-tetabelle fr sie vor. Bei der numerischen Differenziation geht es darum, dieAbleitung einer solchen Funktion an einer vorgegebenen Stelle zu bestimmen.

    Dies kann z. B. bei der Suche nach lokalen Minima oder Maxima der un-bekannten Funktion ntzlich sein, wie auch bei der numerischen Lsung vonDifferenzialgleichungen.

    4.1.1 Numerische Differenziation mit Hilfe der Interpolation

    Diese Methode ist ntzlich, wenn nur eine Wertetabelle einer Funktion vorliegtund daher keine Mglichkeit besteht, weitere Funktionswerte zu erhalten.

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 49

    In diesem Fall knnen wir die gegebenen Punkte mit einer Funktion inter-polieren (z. B. mit einer Polynom- oder Spline-Funktion, s. Kap. 3), und danndie Ableitung der unbekannten Funktion mit der Ableitung der interpolierendenFunktion annhern.

    Polynominterpolation Fr gegebene Sttzpunkte (xi, yi) R2, i = 0, 1, . . . , n,hat das Interpolationspolynom p Pn in einer beliebigen Basis {0,1, . . . ,n} Pn von Pn die Darstellung

    p(x) =

    nj=0

    ajj(x),

    wobei die Koeffizienten a0, a1, . . . , an R bzgl. dieser Basis mit Hilfe der Inter-polationsbedingungen p(xi) = yi, i = 0, 1, . . . , n, bestimmt werden (Kap. 3.1).Sind die Koeffizienten des Interpolationspolynoms p Pn einmal bestimmt, sokann die erste Ableitung von p an jeder beliebigen Stelle ausgewertet werden:

    p(x) =

    nj=0

    ajj(x), x R. (41)

    Aus Kap. 3.1 wissen wir, dass die Standardbasis, j(x) = xj , j = 0, 1, . . . , n,keine gnstige Wahl fr die Interpolation ist. Ableitungen sind jedoch in die-ser Basis am einfachsten zu bestimmen, so dass wir hier aus Zeitgrnden dieStandardbasis verwenden auch wenn dies nicht besonders effizient ist!

    Die erste Ableitung der Standardbasisfunktionen sind gegeben durch

    j(x) =

    {0, j = 0jxj1, j = 1, . . . , n

    , x R.

    Eingesetzt in (41) erhalten wir die folgende Darstellung der ersten Ableitungp Pn in der Standardbasis:

    p(x) =

    nj=1

    ajjxj1 j 7j+1=

    n1j=0

    (j + 1)aj+1xj =

    nj=0

    a(1)j x

    j ,

    mit den Koeffizienten

    a(1)j :=

    {(j + 1)aj+1, j = 0, . . . , n 10, j = n

    .

    Die Koeffizienten der Darstellungen der hheren Ableitungen von p in der Stan-dardbasis knnen nun rekursiv bestimmt werden:

    p(k)(x) = p(k1)(x) =

    nj=0

    a(k1)j x

    j

    = nj=1

    ja(k1)j x

    j1

    j 7j+1=

    n1j=0

    (j + 1)a(k1)j+1 x

    j =

    nj=0

    a(k)j x

    j , k N, (42)

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 50

    mit

    a(0)j := aj , a

    (k)j :=

    {(j + 1)a

    (k1)j+1 , j = 0, . . . , n 1

    0, j = n, k = 1, 2, . . . . (43)

    In MATLAB knnen Sie die folgenden Befehle verwenden, um das Interpolati-onspolynom durch die gegebenen Sttzpunkte sowie seine Ableitungen auszu-werten:

    % Stuetzstellen gespeichert im Vektor x, n := length(x) - 1% Stuetzwerte gespeichert im (Spalten-)Vektor y% Auswertungsstellen gespeichert im Vektor xx

    % Auswertung des Interpolationspolynoms p an den Stellen xx% (0. Ableitung; Polynom vom Grad n)a0 = vander(x)\y;yy0 = polyval(a0,xx);

    % Auswertung der 1. Ableitung p an den Stellen xx% (Polynom vom Grad n-1)a1 = polyder(a0);yy1 = polyval(a1,xx);

    % Auswertung der 2. Ableitung p an den Stellen xx% (Polynom vom Grad n-2)a2 = polyder(a1);yy2 = polyval(a2,xx);

    % usw. fuer hoehere Ableitungen von p

    Spline-Interpolation Fr gegebene Sttzpunkte (xi, yi) R2, i = 0, 1, . . . , n,ist der interpolierende Spline s abschnittweise definiert als

    s(x) = si(x), x [xi1, xi], i = 1, 2, . . . , n,

    mit si Pk, k N. Die (k+1)n Parameter der Funktion s werden bestimmt ausden Interpolationsbedingungen s(xi) = yi, i = 0, 1, . . . , n, den Bedingungen fr(k 1)-mal stetige Differenzierbarkeit an den inneren Knoten i = 1, . . . , n 1,sowie aus k 1 zustzlichen Bedingungen (z. B. an den Randknoten i {0, n}.s. Kap. 3.2).

    Die Ableitungen der Spline-Funktion s sind wieder abschnittweise definierteFunktionen, deren Abschnitte durch die Ableitungen von si gegeben sind:

    s(j)(x) = s(j)i (x), x [xi1, xi], i = 1, 2, . . . , n, j = 1, . . . , k 1.

    Wegen si Pk, i = 0, 1, . . . , n, sind die Ableitungen s(j)i in der Standardbasiseinfach zu berechnen (s. vorherigen Abschnitt).

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 51

    MATLAB verwendet ein spezielles piecewise polynomial-Format fr stck-weise polynomiale Funktionen (Spline-Funktionen). Funktionen in diesem For-mat knnen mit dem Befehl fnval ausgewertet und mit dem Befehl fnderabgeleitet werden. Wir knnen daher in MATLAB die folgenden Befehle ver-wenden, um den interpolierenden kubischen not-a-knot-Spline (k = 3) durchdie gegebenen Sttzpunkte sowie seine Ableitungen auszuwerten:

    % Stuetzstellen gespeichert im Vektor x% Stuetzwerte gespeichert im Vektor y% Auswertungsstellen gespeichert im Vektor xx

    % Auswertung des interpolierenden kubischen not-a-knot-Splines s% an den Stellen xx (0. Ableitung)% (stueckweise kubisch und global stetig)pp0 = csapi(x,y);yy0 = fnval(pp0,xx);

    % Auswertung der ersten Ableitung s an den Stellen xx% (stueckweise quadratisch und global stetig)pp1 = fnder(pp0);yy1 = fnval(pp1,xx);

    % Auswertung der zweiten Ableitung s an den Stellen xx% (stueckweise linear und global stetig)pp2 = fnder(pp1);yy2 = fnval(pp2,xx);

    % die 3. Ableitung von s ist an den inneren Knoten% nicht mehr definiert

    Beispiel Wir illustrieren das beschriebene Vorgehen zur numerischen Diffe-renziation mit Hilfe der Interpolation an der Beispielfunktion

    f(x) := sin(3x) + 2x 1,f (x) = 3 cos(3x) + 2,

    f (x) = 9 sin(3x).

    Wir erzeugen zufllig 5 Sttzstellen im Intervall (1, 1):

    x0 ' 0.746, x1 ' 0.265, x2 ' 0.629, x3 ' 0.812, x4 ' 0.827,

    und berechnen die Sttzwerte yi := f(xi), i = 0, 1, . . . , 4. Fr diese 5 Sttz-punkte bestimmen wir jetzt das Interpolationspolynom vom Grad p P4 sowieden interpolierenden kubischen not-a-knot-Spline s, und die ersten beiden Ab-leitungen von p und s.

    In der folgenden Grafik zeichnen wir in der linken Spalte die Graphen derFunktionen f , p und s sowie von deren Ableitungen. In der rechten Spalte

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 52

    zeichnen wir die punktweisen absoluten Fehler |f(x) p(x)|, |f(x) s(x)|,|f (x) p(x)|, |f (x) s(x)|, |f (x) p(x)| und |f (x) s(x)|.

    2 1 0 1 24

    3

    2

    1

    0

    1

    2F

    un

    ktio

    n

    2 1 0 1 22

    1

    0

    1

    2

    3

    4

    5

    6

    7

    1.

    Ab

    leitu

    ng

    2 1 0 1 2

    104

    102

    100

    102

    2 1 0 1 2

    10

    5

    0

    5

    10

    2.

    Ab

    leitu

    ng

    2 1 0 1 210

    6

    104

    102

    100

    102

    punktweiser absoluter Fehler

    2 1 0 1 210

    4

    102

    100

    102

    (unbekannte) Funktion

    kubischer notaknotSpline

    Interpolationspolynom

    4.1.2 Numerische Differenziation mit Hilfe von Differenzenquotien-ten

    Diese Methode ist ntzlich, wenn eine Funktion als black box gegeben ist,d. h. wenn wir sie zwar an beliebigen Stellen auswerten knnen, aber eben keinanalytischer Ausdruck vorliegt, den wir ableiten knnten.

    Fr eine black box-Funktion f sei also eine Nherung an die Ableitungf (x) an einer Stelle x gesucht.

    Vorwrts- und Rckwrtsdifferenzen Nach der Taylor-Formel (Satz 1) istder Wert von f an der Stelle x+ h, h > 0, gegeben durch

    f(x+ h) = f(x) + f (x)h+1

    2f (x)h2 +O(h3), h 0.

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 53

    Es gilt also

    D+f(x;h) :=f(x+ h) f(x)

    h= f (x) +

    1

    2f (x)h+O(h2), h 0, (44)

    d. h. der Vorwrtsdifferenzenquotient D+f(x;h) ist eine Nherung fr f (x).Genauso knnen wir auch die Taylor-Formel an der Stelle x h, h > 0,

    verwenden:

    f(x h) = f(x) f (x)h+ 12f (x)h2 +O(h3), h 0.

    Damit finden wir den Rckwrtsdifferenzenquotienten

    Df(x;h) :=f(x) f(x h)

    h= f (x) 1

    2f (x)h+O(h2), h 0. (45)

    Der Fehler der Nherungen f (x) ' Df(x;h) ist O(h), h 0:

    |f (x)Df(x;h)| =1

    2f (x)h+O(h2) = O(h), h 0.

    Zentrale Differenzen Die Genauigkeit der Nherung kann erhht werdendurch Verwendung des zentralen Differenzenquotienten, der als das arithmeti-sche Mittel der einseitigen Differenzenquotienten definiert ist:

    D0(x;h) :=D+(x;h) +D(x;h)

    2=f(x+ h) f(x h)

    2h(46)

    = f (x) +O(h2), h 0. (47)

    Der Fehler der Nherung f (x) ' D0(x;h) ist O(h2), h 0:

    |f (x)D0f(x;h)| = O(h2), h 0.

    Beispiel Wir illustrieren die numerische Differenziation mit Hilfe von Diffe-renzenquotienten an dem Beispiel aus Kap. 4.1.1 (f(x) := sin(3x) + 2x 1,f (x) = 3 cos(3x) + 2). Fr gegebene Schrittweiten h > 0 berechnen wir dieWerte Df(x;h) und D0f(x;h), an Stellen x [2, 2]. Dann berechnen wir frjede Schrittweite die maximalen absoluten Fehler der Nherungen an die ersteAbleitung f in diesem Intervall:

    Emax,(h) := maxx[2,2]

    |f (x)Df(x;h)| ,

    Emax,0(h) := maxx[2,2]

    |f (x)D0f(x;h)| .

    Theoretisch gilt natrlich

    limh0

    Emax,(h) = limh0

    Emax,0(h) = 0,

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 54

    aber praktisch tritt bei der Berechnung der Differenzenquotienten D und D0fr sehr kleine Werte von h Auslschung auf, so dass der Fehler irgendwannnicht mehr kleiner bzw. sogar grsser wird.

    Dennoch sehen wir in der folgenden Grafik die theoretische Konvergenz-ordnung 1 fr die einseitigen Differenzenquotienten und 2 fr den zentralenDifferenzenquotienten:

    1010

    108

    106

    104

    102

    100

    1010

    108

    106

    104

    102

    100

    h

    ma

    x.

    ab

    s.

    Fe

    hle

    r in

    de

    r 1

    . A

    ble

    itu

    ng

    im

    In

    terv

    all

    [2

    ,2]

    f(x) = sin(3 x) + 2 x 1

    Vorwaertsdifferenzen

    Rueckwaertsdifferenzen

    zentrale Differenzen

    h

    h2

    Solche Plots sind auch ntzlich, um Ihre Implementierung zu testen!

    Fehleranalyse Der gesamte Fehler bei der Approximation der Ableitung einerFunktion durch einen Differenzenquotienten Df(x;h) setzt sich zusammen ausdem Verfahrensfehler und aus dem Rundungsfehler:

    |f (x)Df(x;h)| |f (x)Df(x;h)| Verfahrensfehler

    + |Df(x;h)Df(x;h)| Rundungsfehler

    ,

    wobei Df den (tatschlich berechneten) Differenzenquotienten mit Rundungs-fehler bezeichnet. Der Verfahrensfehler ist der Approximationsfehler bei exakterRechnung, also ohne Rundungsfehler. Z. B. erhalten wir fr den zentralen Dif-ferenzenquotienten

    D0f(x;h) =f(x+ h) f(x h)

    2h

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 55

    mit Hilfe der Taylor-Formel den Verfahrensfehler

    |f (x)D0f(x;h)| = O(h2), h 0.

    Der Rundungsfehler entsteht durch die Rechnung mit endlicher Genauigkeit injedem digitalen System. Er wird typischerweise durch die Maschinengenauigkeit > 0 angegeben (typischer Wert ' 2.22 1016). Bei der Berechnung deszentralen Differenzenquotienten treten Rundungsfehler z. B. bei der Auswertungder Funktion f auf, und wir erhalten daher den Rundungsfehler

    |D0f(x;h)D0f(x;h)| =f(x+ h) f(x h)2h f(x+ h) f(x h)2h

    =|f(x+ h) f(x+ h) (f(x h) f(x h))|

    2h

    |f(x+ h) f(x+ h)|2h

    +|f(x h) f(x h)|

    2h

    =

    2h+

    2h=

    h= O(h1), h 0.

    Die Summe aus Verfahrens- und Rundungsfehler ist also fr den zentralen Dif-ferenzenquotienten gegeben durch

    |f (x)D0f(x;h)| = O(h2) +O(h1), h 0,

    und fr die einseitigen Differenzenquotienten D durch

    |f (x)Df(x;h)| = O(h) +O(h1), h 0.

    1010

    108

    106

    104

    102

    100

    1010

    108

    106

    104

    102

    100

    h

    3 h + 1015

    /h

    2 h2 + 10

    15/h

    h

    h2

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 56

    Experimentelle Bestimmung der Konvergenzordnung Wir vernach-lssigen im Folgenden die Rundungsfehler. Sei f : D R, D R, eine differen-zierbare Funktion, und sei x D. Sei Df(x;h), h > 0, ein Differenzenquotientzur Approximation der ersten Ableitung der Funktion f an der Stelle x, f (x).Es gelte

    |f (x)Df(x;h)| = Chp +O(hp+1) = O(hp), h 0,

    fr ein p N (wir sagen, der Differenzenquotient Df habe die Konsistenzord-nung p).

    Ist der Wert der Ableitung, f (x), bekannt, so knnen wir die Konsistenz-ordnung p der Nherung leicht bestimmen. Es gilt dann fr (0, 1): f (x)Df(x;h)f (x)Df(x;h)

    = Chp +O(hp+1)C (h)p +O(hp+1) =(

    1

    )p+O(h), h 0,

    und damit fr h > 0 klein genug:

    p ' log 1

    f (x)Df(x;h)f (x)Df(x;h) = 1ln ( 1) ln

    f (x)Df(x;h)f (x)Df(x;h) .

    Sei jetzt f (x) unbekannt. Fr (0, 1) gilt

    |Df(x;h)Df(x;h)| = Chp + C (h)p +O(hp+1), h 0,

    und damit Df(x;h)Df(x;h)Df(x;h)Df(x;2h) = Chp + Cphp +O(hp+1)Cphp + C2php +O(hp+1)

    =Chp

    Cphp1 + p +O(h)

    1 + p +O(h)

    =

    (1

    )p+O(h), h 0.

    Fr h > 0 klein genug gilt also

    p ' log 1

    Df(x;h)Df(x;h)Df(x;h)Df(x;2h) = 1ln ( 1) ln

    Df(x;h)Df(x;h)Df(x;h)Df(x;2h)

    In Serie 6, Aufgabe 3c, haben Sie p fr = 12 berechnet.

    Hhere Ableitungen Mit Hilfe der Taylor-Formel knnen weitere Differen-zenquotienten hergeleitet werden, z. B. auch fr hhere Ableitungen. Betrachtenwir z. B. die Taylor-Formeln fr f(x h):

    f(x h) = f(x) f (x)h+ 12f (x)h2 1

    6f (3)(x)h3 +

    1

    24f (4)(x)h4 +O(h5),

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 57

    h 0. Dann gilt

    f(x+ h) 2f(x) + f(x h) = f (x)h2 + 112f (4)(x)h4 +O(h5), h 0,

    und damit

    f(x+ h) 2f(x) + f(x h)h2

    = f (x) +O(h2), h 0.

    Derselbe Differenzenquotient fr die Approximation der zweiten Ableitung vonf an der Stelle x kann auch auf eine andere Weise mit Hilfe von Differenzen-quotienten fr die Approximation der ersten Ableitung hergeleitet werden:

    f (x) 'f (x+ h2

    ) f

    (x h2

    )h

    = D0f(x;h

    2

    ),

    f (x+

    h

    2

    )' f(x+ h) f(x)

    h= D0f

    (x+

    h

    2;h

    2

    ),

    f (x h

    2

    )' f(x) f(x h)

    h= D0f

    (x h

    2;h

    2

    ),

    f (x) 'f(x+h)f(x)

    h f(x)f(xh)

    h

    h=f(x+ h) 2f(x) + f(x h)

    h2.

    Auch fr die zweite Ableitung lassen sich einseitige Nherungsformeln finden,die z. B. am Rand des Definitionsbereichs einer Funktion verwendet werdenknnen (s. u.).

    Zusammenfassung Wir fassen hier die Differenzenquotienten zur Nherungder ersten beiden Ableitungen von f bis zur 2. Ordnung zusammen:

    f (x) =f(x+ h) f(x)

    h+O(h),

    f (x) =f(x) f(x h)

    h+O(h),

    f (x) =3f(x) + 4f(x+ h) f(x+ 2h)

    2h+O(h2),

    f (x) =f(x+ h) f(x h)

    2h+O(h2),

    f (x) =3f(x) 4f(x h) + f(x 2h)

    2h+O(h2),

    f (x) =2f(x) 5f(x+ h) + 4f(x+ 2h) f(x+ 3h)

    h2+O(h2),

    f (x) =f(x+ h) 2f(x) + f(x h)

    h2+O(h2),

    f (x) =2f(x) 5f(x h) + 4f(x 2h) f(x 3h)

    h2+O(h2),

    fr h 0.

  • 4 NUMERISCH DIFFERENZIEREN UND INTEGRIEREN 58

    4.2 Numerische IntegrationBei der numerischen Integration (oder numerischen Quadratur) geht es darum,bestimmte Integrale von Funktionen, die z. B. als Wertetabelle oder black boxgegeben sind, zu approximieren. Dazu verwendet man sog. Quadraturformeln

    ba

    f(x) dx ' Q(f) := (b a)ni=0

    wif(xi) R, (48)

    mit Sttzstellen x0, x1, . . . , xn R und Gewichten w0, w1, . . . , wn R. DerQuadraturfehler ist dann gegeben durch

    E(f) :=

    ba

    f(x) dxQ(f)

    0.Eine Quadraturformel Q hat Genauigkeitsgrad n N, wenn n die grsste na-trliche Zahl ist, so dass E(p) = 0 p Pn, d. h. wenn die Quadraturformelalle Polynomfunktionen bis zum Grad n exakt integriert.

    4.2.1 Interpolatorische Quadraturformeln

    Bei diesen Quadraturformeln wird fr ein n N die Funktion f mit n + 1Sttzstellen xi [a, b], i = 0, 1, . . . , n, und Sttzwerten f(xi), i = 0, 1, . . . , n,durch das Interpolationspolynom p Pn approximiert (Kap. 3.1). Dieses ist inder Lagrange-Basis gegeben durch

    p(x) =