[WS] Numerische Integration - Beispiele

Neue Frage »

tigerbine Auf diesen Beitrag antworten »
[WS] Numerische Integration - Beispiele
Gliederung

  1. Abgeschlossene Newton-Cotes Formeln
    1a. Trapezregel
    1b. Simpson-Regel oder Keplersche Faßregel
    1c. Pulcherrima oder 3/8 Regel

  2. Offene Newton-Cotes Formeln
    2a. Mittelpunktsregel
    2b. offene NC für n=1
    2c. offene NC für n=2

  3. Bezug zum Riemann-Integral

  4. Vorgegebene Genauigkeit erreichen
    4a. Summierte Trapezregel
    4b. Ordnung von Quadraturformeln

  5. Adaptive Formeln

  6. Romberg-Integration
tigerbine Auf diesen Beitrag antworten »
1. Abgeschlossene Newton-Cotes Formeln
Berechnung der Gewichte und Quadraturfehler für n = 1, 2, 3


Dafür verwenden wir die im Theorieteil erhaltene Gestalt:

tigerbine Auf diesen Beitrag antworten »
1a. Trapezregel
Berechnung der Gewichte








Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:





Geometrische Interpretation

http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Sehnentrapezformel.svg/373px-Sehnentrapezformel.svg.png

Anschaulich hätte man die Formel auch aus der Berechnung des Flächeninhalts des roten Trapezes erhalten können. Desweiteren erkennt man, dass die interpolierende Polynomfunktion linear ist.


Berechnung des Quadraturfehlers

Hier ist n=1 ungerade, daher nehmen wir die Standardfehlerformel.




Dabei ist die Funktion (t-0)(t-1) auf [0,1] nicht positiv.
tigerbine Auf diesen Beitrag antworten »
1b. Simpson-Regel oder Keplersche Faßregel
Berechnung der Gewichte














Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:





Geometrische Interpretation

http://upload.wikimedia.org/wikipedia/commons/thumb/0/08/Simpson_rule.png/800px-Simpson_rule.png

Warum die Regel auch Keplersche Faßregel heißt, kann hier zum Einstieg nachgelesen werden. Ansonsten erkennt man in der Grafik schön, dass die interpolierende Polynomfunktion den Grad 2 hat.


Berechnung des Quadraturfehlers

Da n=2 gerade ist, wählen wir einen weiteren Knoten . Mit der Fehlerformel für gerades n ergibt sich dann:




Dabei ist die Funktion nichtpositiv auf [0,1]:

tigerbine Auf diesen Beitrag antworten »
1c. Pulcherrima oder 3/8 Regel
Berechnung der Gewichte





Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:


tigerbine Auf diesen Beitrag antworten »
2. Offene Newton-Cotes Formeln
Berechnung der Gewichte und Quadraturfehler für n = 0, 1, 2


Dafür verwenden wir die im Theorieteil erhaltene Gestalt:

 
 
tigerbine Auf diesen Beitrag antworten »
2a. Mittelpunktsregel
Berechnung der Gewichte





Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:



Geometrische Interpretation

http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mittelpunktsregel.svg/386px-Mittelpunktsregel.svg.png


Quadraturfehler

Da n gerade ist, wählen wir einen weiteren Knoten . Mit der Fehlerformel für gerades n ergibt sich dann:


tigerbine Auf diesen Beitrag antworten »
2b. offene NC für n=1
Berechnung der Gewichte








Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:

tigerbine Auf diesen Beitrag antworten »
2c. offene NC für n=2
Berechnung der Gewichte














Quadraturformel

Als Näherung für das Integral erhält man hier die Quadraturformel:

tigerbine Auf diesen Beitrag antworten »
3. Bezug zum Riemann-Integral
Hier soll das Integral für die Funktion durch die oben aufgeführten Verfahren visualisiert werden. Hierbei soll der im Theorie-Teil erwähnte Ansatz der Treppenfunktion verdeutlicht werden.

Geschlossene NC-Formeln

[attach]8484[/attach][attach]8485[/attach][attach]8486[/attach]


Offene NC-Formeln

[attach]8487[/attach][attach]8488[/attach]
tigerbine Auf diesen Beitrag antworten »
4. Vorgegebene Genauigkeit erreichen
Nun wollen wir uns der praktischen Aufgabe stellen, eine gegebene Funktion mittels der Bisher genannten Verfahren auf eine bestimmte Genauigkeit zu integrieren. Das erste i.A. konvergente Verfahren waren die summierten Newton-Cotes Formeln. Generell gilt es auch zu bedenken, dass das Auswerten einer Funktion (was ja immer nötig ist) auch mit Rechenaufwand verbunden ist und i.A. auch schon mit Fehlern belastet ist.

Beispielaufgabe:

Bestimme das Integral mit einer Fehlergenauigkeit von


Sammeln wir zunächst ein paar Informationen über die Funktion.



Grob ergibt sich durch Abschätzung der Faktoren:





tigerbine Auf diesen Beitrag antworten »
4a. Trapezregel
Aus dem Theorieteil wissen wir, dass es sich bei der Trapezregel (abgeschlossene NC-Regel mit gerader Anzahl von Stützstellen) um eine Quadraturformel der Ordnung 2 handelt, d.h. alle werden exakt integriert. Es sind2 Funktionsauswertungen nötig. Wie gut wird das Ergebnis sein? Werfen wir einen Blick in die Fehlerabschätzung:





Wir erreichen so (mit 2 Auswertungen) noch nicht die geforderte Genauigkeit. Daher wollen wir es mit der Summierten Trapezregel versuchen. An wie vielen Stellen muss dabei die Funktion (in Abhängigkeit von der Teilintervallanzahl N) ausgewertet werden?



Ab N>1 ist die Funktion also an (N+1)-Stellen auswerten. Wie können wir dann das Integral approximieren?




Damit ergibt sich für die geforderte Genauigkeit:







Für die Anzahl der Teilintervalle bedeutet dies dann:




D.h. mit N=5 sollte die gewünschte Genauigkeit erreicht worden sein.

[attach]8506[/attach]
tigerbine Auf diesen Beitrag antworten »
4b. Ordnung der Quadraturformel
Die Potenz mit der h ist der Fehlerabschätzung auftaucht spielt also eine entscheidende Rolle. Was wäre, wenn wir nur eine Formel der Ordnung 1 hätten? Diese müssen wir uns nun erst noch basteln, da aufgrund der symmetrischen Lage der Knoten bei den NC-Formeln man immer Ordnugnen > 1 erhält. Wir wählen einfach die "Links-Regel" und setzten




Es ist dann:




Somit erhalten wir




Für die Summierte Formel ergibt sich dann:




Analoge Rechnungen wie in 4a ergeben dann, dass N>16 sein um das Integral der Funktion mit der gewünschten Genauigkeit zu berechnen.
tigerbine Auf diesen Beitrag antworten »
5. Adaptive Formeln
Ziel ist die adaptive Berechnung des Integrals. Beginnen wir mit der Bestimmung des ersten Teilintervalls, also [-1,?]. Zunächst einmal ein paar Vergleichswerte:








1. Durchlauf









2. Durchlauf







3. Durchlauf







D.h. nach 3 Durchläufen ist für das Intervall [-1,-0.5] die geforderte Genauigkeit erreicht.


Mit einen kleinen Matlabfile, welches die Länge des letzten "erfolgreichen" Integrals für den neuen Durchlauf verdoppelt, erhält man:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
I_Matlab=3.121593e+002 
 
 i      [x_i,x_i+1]                  Q_i                  QS              m_i 
--------------------------------------------------------------------------------------
 0      [-1.000000,-0.500000]        1.000600e+000        1.000600e+000      2
 1      [-0.500000,-0.250000]        1.999794e+000        3.000394e+000      2
 2      [-0.250000,-0.125000]        3.988376e+000        6.988771e+000      2
 3      [-0.125000,-0.093750]        2.643535e+000        9.632306e+000      3
 4      [-0.093750,-0.062500]        5.239414e+000        1.487172e+001      1
 5      [-0.062500,-0.046875]        5.152812e+000        2.002453e+001      2
 6      [-0.046875,-0.031250]        9.952541e+000        2.997707e+001      1
 7      [-0.031250,-0.023438]        9.357928e+000        3.933500e+001      2
 8      [-0.023438,-0.015625]        1.660337e+001        5.593837e+001      1
 9      [-0.015625,-0.011719]        1.371128e+001        6.964966e+001      2
10      [-0.011719,-0.007813]        2.011666e+001        8.976631e+001      1
11      [-0.007813,-0.003906]        2.908028e+001        1.188466e+002      1
12      [-0.003906,-0.001953]        1.795142e+001        1.367980e+002      2
13      [-0.001953,+0.000000]        1.928844e+001        1.560864e+002      1
14      [+0.000000,+0.001953]        1.928844e+001        1.753749e+002      1
15      [+0.001953,+0.005859]        3.371303e+001        2.090879e+002      0
16      [+0.005859,+0.009766]        2.435244e+001        2.334404e+002      1
17      [+0.009766,+0.017578]        2.800233e+001        2.614427e+002      0
18      [+0.017578,+0.025391]        1.420411e+001        2.756468e+002      1
19      [+0.025391,+0.033203]        8.265489e+000        2.839123e+002      1
20      [+0.033203,+0.048828]        9.053302e+000        2.929656e+002      0
21      [+0.048828,+0.080078]        7.778394e+000        3.007440e+002      0
22      [+0.080078,+0.142578]        5.423128e+000        3.061671e+002      0
23      [+0.142578,+0.267578]        3.268479e+000        3.094356e+002      0
24      [+0.267578,+0.517578]        1.804851e+000        3.112404e+002      0
25      [+0.517578,+1.000000]        9.324854e-001        3.121729e+002      0
tigerbine Auf diesen Beitrag antworten »
6. Romberg-Integration
Es soll das Integral approximiert werden. Dazu bestimmt man zu verschiedenen Schrittweiten den Wert der summierten Trapezregel

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
Es wird ein Integral durch Romberg-Extrapolation approximiert.
 
Beachte: Der Datensatz hat die Form
         Knoten:            h_0,...,h_n
         Integralwerte:     i_0,...,i_n
         Iterationen:       n
         Funktion in rombergf.m anlegen
Intervallanfang eingeben:         1
Intervallende eingeben:           2
Genauigkeit eps = 0.0001
 
--------------------------------------------------------------------------------------------
 
I_Matlab=3.059117e+000 
 
Neville-Romberg Schema  - Funktionswerte bei h=0
===============================================
 
IR =
    1.0000    3.2064    3.0607    3.0591    3.0591    3.0591
    0.5000    3.0971    3.0592    3.0591    3.0591         0
    0.2500    3.0687    3.0591    3.0591         0         0
    0.1250    3.0615    3.0591         0         0         0
    0.0625    3.0597         0         0         0         0
 
Fehler = 0.000000 
Neville-Romberg Schema - Polynomeinträge 
=========================================
 
Spalte  0 
-----------
 
p_ 0, 0(x)= 
 
     + 3.206405 * x^0 
 
p_ 1, 0(x)= 
 
     + 3.097099 * x^0 
 
p_ 2, 0(x)= 
 
     + 3.068704 * x^0 
 
p_ 3, 0(x)= 
 
     + 3.061520 * x^0 
 
p_ 4, 0(x)= 
 
     + 3.059718 * x^0 
 
Spalte  1 
-----------
 
p_ 0, 1(x)= 
 
     + 3.060663 * x^0     + 0.145741 * x^2 
 
p_ 1, 1(x)= 
 
     + 3.059239 * x^0     + 0.151439 * x^2 
 
p_ 2, 1(x)= 
 
     + 3.059125 * x^0     + 0.153267 * x^2 
 
p_ 3, 1(x)= 
 
     + 3.059117 * x^0     + 0.153767 * x^2 
 
Spalte  2 
-----------
 
p_ 0, 2(x)= 
 
     + 3.059144 * x^0     + 0.153338 * x^2     - 0.006077 * x^4 
 
p_ 1, 2(x)= 
 
     + 3.059117 * x^0     + 0.153877 * x^2     - 0.007803 * x^4 
 
p_ 2, 2(x)= 
 
     + 3.059117 * x^0     + 0.153934 * x^2     - 0.008532 * x^4 
 
Spalte  3 
-----------
 
p_ 0, 3(x)= 
 
     + 3.059117 * x^0     + 0.153913 * x^2     - 0.008379 * x^4     + 0.001754 * x^6 
 
p_ 1, 3(x)= 
 
     + 3.059117 * x^0     + 0.153938 * x^2     - 0.008775 * x^4     + 0.002961 * x^6 

Spalte  4 
-----------
 
p_ 0, 4(x)= 
 
     + 3.059117 * x^0     + 0.153938 * x^2     - 0.008801 * x^4     + 0.003363 * x^6     - 0.001212 * x^8 



[attach]8709[/attach]
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »