Numerische Berechnung von uneigentlichen Integralen - Gauß-Laguerre-Quadratur.pdf

Embed Size (px)

Citation preview

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    1/9

    TU Dresden, Fakultat Mathematik und Naturwissenschaften, Institut fur

    Numerische Mathematik.

    Grundpraktikum

    Numerische Berechnung von uneigentlichen Integralen

    am Beispiel der Gau-Laguerre-Quadratur

    Bearbeiter:Christoph Klingenberg

    Matrikel-Nr: 3038790

    Alexander MullerMatrikel-Nr: 3265725

    Betreuer:Mag. Hanka Pfeifer

    Eingereicht am 18.01.2010

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    2/9

    Inhaltsverzeichnis

    1 Numerische Integration 21.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Uneigentliche Integrale . . . . . . . . . . . . . . . . . . . . . . 21.3 Gau-Quadratur . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 Beschreibung des Verfahrens: Gau-Laguerre-Quadratur 3

    3 Quadraturfehler der Gau-Laguerre-Formel 4

    4 Auswertung einiger Beispiele 5

    5 Dokumentation zum Programm 5

    1

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    3/9

    1 Numerische Integration

    1.1 Allgemeines

    Viele Integrale I(f) =b

    af(x) dx lassen sich in der Praxis nicht explizit

    berechen, weil es zu der betrachteten Funktion f(x) keine StammfunktionF mit F = f gibt oder der Aufwand zur Bestimmung der Stammfunktionunverhaltnismaig hoch ist. Daher mussen die Integrale numerisch berechnetwerden, wobei man in der Regel versucht, eine Quadraturformel Q(f) zufinden, die eine gute Annaherung fur das Integral I(f) ist:

    Q(f) I(f) = b

    a f(x) dx

    Diese Quadraturformel wird dann an einer vorgegebenen Anzahl vonStutzstellen in einem festgelegten Intervall ausgewertet und fuhrt somit aufeine Naherung fur das Integral I(f).

    1.2 Uneigentliche Integrale

    Bei der numerischen Berechnung uneigentlicher Integrale ergibt sich dasProblem, dass ein unendlich groes Intervall nur an einer endlichen Anzahlvon Stutzstellen ausgewertet wird. Man kann diesem Problem auf drei ver-

    schiedene Weisen beikommen:

    1. Nur den relevanten Bereich betrachten und den Rest abschatzen.

    2. Gau-Laguerre-Quadratur oder Gau-Hermite-Quadratur

    3. Transformation auf ein endliches Intervall:Man kann die Integration uber [0,) durch die Transformation t = x

    1+x

    oder t = ex auf das Intervall (0, 1] ubertragen. Durch die Transfor-mation t = e

    x1ex+1

    geht (, +) in (1, +1) uber. Allerdings entstehtdabei selten ein stetiger Integrand, meit fuhrt sie auf eine Singular-

    itat im Integranden. (vgl. Hammerlin, Gunther; Hoffmann, Karl-Heinz(1994): Numerische Mathematik, Springer: Berlin [u.a.])

    2

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    4/9

    1.3 Gau-Quadratur

    Die nach Carl Friedrich Gau benannten Quadraturformeln teilen diezu integrierende Funktion in eine Gewichtsfunktion und ein spezielles Poly-nom auf, die an bestimmten Stellen ausgewertet werden.

    1. Gau-Legendre-QuadraturNormintervall [1;1], (x) = 1

    I =

    b

    a

    f(x) dx, Gn+1 = (ba)n

    k=0

    Akf(xk) =n

    k=0

    kf(xk),

    nk=0

    Ak = 1

    2. Gau-Tschebyscheff-Quadratur (1.Art)Normintervall [1;1], (x) = 1

    (1x2)

    I =

    11

    11 x2 f(x) dx, GT n+1 =

    nk=0

    kf(xk),

    nk=0

    k =

    3. Gau-Hermite-QuadraturNormintervall [;], (x) = ex2

    I =

    ex2

    f(x) dx, GH n+1 =n

    k=0

    kf(xk),n

    k=0

    k =

    4. Gau-Laguerre-QuadraturNormintervall [0;], (x) = ex

    I =

    0

    exf(x) dx, GLn+1 =n

    k=0

    kf(xk),

    nk=0

    k = 1

    2 Beschreibung des Verfahrens: Gau-Laguerre-Quadratur

    Wir betrachten zunachst Funktionen auf dem Intervall [0,). Bei der GauLaguerre Quadratur werden die Stutzstellen xi nicht (wie bei vielen anderenVerfahren) aquidistant gewahlt, sondern fur die Funktion optimiert. Eine

    3

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    5/9

    hohe Fehlerordnung wird erreicht, indem die Nullstellen (x0, x1, . . . , xn) des

    n-ten Laguerre-Polynoms Ln+1(x) = 0 als Stutzstellen festgelegt werden.Die Laguerre-Polynome sind rekursiv definiert:

    L0 = 1

    L1 = 1 x...

    Ln+1 = (2n + 1 x)Ln n2Ln1

    Sie konnen aber auch explizit berechnet werden:

    1

    n!

    (1)nxn +

    0i=n1n>0

    ( n!(n(ni))!)

    2

    (n i)! (1)ixi

    Die Laguerre-Polynome sind zur Gewichtsfunktion (x) = ex orthogonon-al, wodurch optimale Genauigkeit erreicht wird. Das Integral wird nun durchdie Quadraturformel angenahert:

    0

    exf(x) dx ni=1

    if(xi)

    Die Gewichte i lassen sich mit folgender Formel bestimmen:

    i =((n + 1)!)2

    Ln+2(xi)Ln+1(xi)=

    xi

    (n + 1)2(Ln+1(xi))2

    Sollte der Integrand nicht in der Form exf(x) vorliegen, so kann man dieQuadraturformel dennoch aufstellen, indem man f(x) durch g(x) = exf(x)ersetzt und somit die Quadraturformel fur das Integral von exg(x) berechnen

    kann.

    3 Quadraturfehler der Gau-Laguerre-Formel

    Der Quadraturfehler fur die Gau-Laguerre-Quadratur ist

    4

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    6/9

    R(f) = (n!)2

    (2n)!f2n()

    Dabei ist [0,) eine beliebige Stelle aus dem Integrationsintervallund n die Anzahl der Stutzstellen. Wie wir sehen, ist der Quadraturfehlerauerdem von der Funktion f abhangig: Sie muss beschrankt sein, damit derFehler endlich ist. Weiterhin ist zu beachten, dass der Fehler fur zu groe nnicht unbedingt kleiner wird, da der Zahler auch entsprechend schnell wachst.

    4 Auswertung einiger Beispiele

    Integral Losung GLQ n=5 n=10 n=15 n=20 n=250

    ex

    x dx 0.886226 0.89554 0.88950 0.88801 0.88738 0.887059

    exx

    dx 0.99574 0.087521 0.097106 0.09800 0.099355 0.0994942

    1x3xdx 0.143841 0.142276 0.143484 0.143685 0.143754 0.143786

    0x

    (1+x2)2dx = 0.5 0.48068 0.50068 0.50005 0.49984 0.49993

    02xe2xdx = 0.5 0.50053 0.50000 0.50000 0.50000 0.50000

    0exx3dx = 6 6.00000 6.00000 6.00000 6.00000 6.00000

    Im letzten Beispiel wurde der genaue Wert 6 schon ab n=2 erreicht. AlleBerechnungen wurden mit GNU Octave 3.2.3durchgefuhrt.

    5 Dokumentation zum Programm

    Zu erst muss die zu integrierende Funktion in f.m eingetragen werden. DieBeispielfunktionen sind bereits enthalten und mussen nur noch auskommen-tiert werden:

    function y=f (x)

    y=sqrt ( x ) ;% y=exp(sqrt (x+9))/ sqrt (x+9);% y =1/(( x+2)3(x+2)) ;% y=x/(1+x 2 ) 2 ;% y=2xexp(2x ) ;% y=x 3 ;end ;

    5

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    7/9

    Das Hauptprogramm GLQ.m organisiert die Benutzereingabe, ruft die Un-

    terprogramme zur Berechnung auf und gibt das Ergebnis aus:c le ar a l l ;n=input ( G eben S i e d en Grad n d e s L a g u er r e P ol yn om s e i n : ) ;i f ( n33)

    disp ( D e r Grad d e s L a g u e rr eP ol yn om s m us s z w i s c h e n 1 und3 3 l i e g e n . ) ;

    e l s e

    % B e re ch ne n d e s L a g ue r rePolynomsL=GLQL1( n ) ;

    % B er ec hn en d er S t u e t z s t e l l e nx=roots (L) ;

    % B e re c hn e n d e r G e wi c ht e

    w=GLQWeights ( x ) ;% B er e ch n en d e r Q u a d r a t u r fo r m e l

    INT=zeros (1 ,2) ;f o r i =1:n

    INT(1)+=(w( i ) f ( x ( i ) ) ) ;INT(2)+=(w( i ) exp (x ( i ) ) f (x ( i ) ) ) ;

    end ;disp ( ) ;disp ( 1 . Wert : L o es u ng m i t G e wi c ht e n w i | | 2 . Wert :

    L o es u ng m i t G e wi c ht e n w iexp( x) ) ;disp ( ) ;INT

    end ;Bei der Ausgabe ist zu beachten, dass zum einen das Ergebnis mit Gewicht-

    en i und zum anderen das Ergebnis mit Gewichten iex ausgegeben wird.

    Wenn die Funktion also bereits ex enthalt, ist der erste Wert zu entnehmen,sonst der Zweite.Als erstes wird das Unterprogramm GLQL1.m aufgerufen, welches das Laguerre-Polynom vom Grad n explizit berechnet:

    function L=GLQL1( n )% Lae ng e d es V ek to rs L w ir d f e s t g e l e g t

    L=zeros (1 ,n+1) ;% Laguerre Polynom vom Grad 1

    L ( 1 ) = (1)n;% B e r ec h nu n g d e s L a g u e r r e P ol yn om s vom Gra d n

    f o r i =0:(n1)L(n+1 i ) = (( f a c t o r i a l ( n ) / f a c t o r i a l ( n(ni ) ) ) 2/

    f a c t o r i a l (ni ) ) (1) i ;end ;

    L= (1 / f a c t o r i a l ( n ) ) L ;

    6

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    8/9

    end ;

    Alternativ dazu kann auch das Programm GLQL2.m aufgerufen werden,welches das Laguerre-Polynom vom Grad n rekursiv berechnet:

    function L=GLQL2( n )

    i f ( n1)

    % R e k u r si o n s f o rm e l f u e r Grad n>1M(n +1 ,:) =(1/n) ( conv ([1 2( n1 ) + 1 ] ,

    GLQL2(n1) )GLQV2M( ( n1)GLQL2(n2) ,n+1)) ;

    end ;end ;L=M( n + 1 , : ) ;

    end ;

    Dazu ist zusatzlich GLQV2M.m notig, welches ein Polynom P vom Grad min einen Zeilenvektor der Lange n mit vorangehenden Nullen umwandelt fallsn > m ist:

    function V=GLQV2M( P, n )

    V=zeros (1 ,n) ;m=length (P) ;

    i f (m>=n )V=P;

    e l s e

    f o r i =1:mV( nm+i )=P( i ) ;

    end ;end ;

    7

  • 7/22/2019 Numerische Berechnung von uneigentlichen Integralen - Gau-Laguerre-Quadratur.pdf

    9/9

    end ;

    Nach der Berechnung der Laguerre-Polynome (entweder explizit oderrekursiv) werden mit GLQWeights.m die Gewichte berechnet. Dabei ist xder Vektor mit den Stutzstellen des n-ten Laguerre Polynoms

    function w=GLQWeights(x)

    % Grad des Polynomsn=length ( x ) ;

    % R u e ck g ab e we r t b e l e g e nw=zeros (1 ,n) ;

    % L agu erre Polynom vom Grad n+1L=GLQL1( n+1) ;

    f o r i =1:n% B e re c hn e n d e r G e wi c ht e

    w( i )=x ( i ) /( ( n+1) 2( polyval (L , x( i ) ) ) 2) ;end ;

    end ;

    8