________________________________________________________________________________
Inhalt....: Numerische Integration
Kategorie.: Unterrichtsmaterial
Mathematik: Analysis, Numerik
MuPAD.....: 3.0.0
Datum.....: 2003-03-04
Autoren...: Alessandro Dell'Aere <dellaere@mupad.de>
Funktionen: plot, plot::Function2d, plot::Line2d, solve, assign, assume, int
Funktionen: delete, float
________________________________________________________________________________
Numerische Integration mit MuPAD
Das folgende Arbeitsblatt basiert auf der Unterrichtseinheit "Numerische Integration" von
Alexandra Dreiseidler.
Das Arbeitsblattes bietet eine Einführung in die näherungsweise Berechnung von Integralen mit
Hilfe der Trapez- und der Simpson-Regel.
Dabei wird sich herausstellen, dass der Approximationsfehler bei der Simpson-Regel wesentlich
kleiner ausfällt, als bei der Trapez-Regel.
Unterrichtliche Voraussetzungen
Eine Unterrichtsreihe mit dem in diesem Notebook beschriebenen Inhalt
setzt folgende Vorbereitung voraus:
- Die Idee der Riemannschen Summe
- Die symbolisch Integration einer Quadratischen Funktion
- stückweise definierte Funktionen
- Die Lösung von Gleichungssystemen
Mögliche Durchführung der Unterrichtseinheit und didaktische Vorbemerkungen
Grundsätzlich sollte darauf hingewiesen werden, daß eine symbolische Integration in der Praxis
nicht immer möglich ist. Dazu können einige Beispiele gegeben werden. So kann man den Sinn
und Zweck der numerischen Integration begründen.
Teilweise ist der Einsatz von MuPAD prinzipiell nicht notwendig. Man kann aber methodisch so
vorgehen, dass man die komplizierten Ergebnisse der Termumformungen des CAS präsentiert
und dann nach den abgelaufenen Rechenschritten fragt.
Nach Bearbeitung dieses Arbeitsblattes sind Übungen zum Festigen der Erkenntnisse zu
empfehlen.
Allgemeine Überlegungen:
Zur Berechnung von Flächen zwischen Messpunkten (Fahrtenschreiberaufgabe)
oder Funktionsgraphen und x-Achse über ein Intervall kann man den Graphen
durch konstante Funktionen und die Fläche durch Rechtecksummen, sogenannten
Riemannschen Summen approximieren. Läßt man die Anzahl der dabei benutzten
Teilintervalle gegen unendlich streben, so erhält man das Riemannsche Integral.
Wir wollen nun versuchen, den Graphen durch solche Funktionen zu approximieren,
die ihn besser beschreiben mit dem Ziel, dass die sich damit ergebenden Flächen
die tatsächliche Fläche noch besser annähern. Das folgende Problem soll der Aus-
gangspunkt für unsere Betrachtungen sein:
(1) Approximation durch lineare Funktionen (Trapez-Regel):
Wir wollen nun versuchen, die zu integrierende Funktion durch Polygonzüge, d.h.
durch stückweise lineare Funktionen anzunähern. Die Fläche wird dann durch eine
Summe von Trapezen approximiert.
Es sei eine auf dem Intervall [a, b] zu integrierende Funktion f gegeben.
Das Intervall teilen wir in n Teile der Länge

Weiter bezeichnen wir für i = 1..n+1 mit

die i-te Stützstelle. Damit haben wir insbesondere
____
Zur Veranschaulichung nehmen wir die folgende Funktion
__
und das Integrationsintervall [0, 1], welches wir in 5 gleichlange TeiIintervalle
aufteilen wollen:
f := -t^4 + t^2:
n := 4:
d := (1 - 0)/n:
(x[i] := 0 + d*(i - 1)) $i= 1.. n + 1:
Nun lassen wir sowohl den Graphen der Funktion als auch die Trapeze zeichnen:
plotf := plot::Function2d(f, t=0..1, Color = RGB::Green):
plot1 := plot::Line2d([x[1], subs(f, t = x[1])],
[x[2], subs(f, t = x[2])]):
plot2 := plot::Line2d([x[2], subs(f, t = x[2])],
[x[3], subs(f, t = x[3])]):
plot3 := plot::Line2d([x[3], subs(f, t = x[3])],
[x[4], subs(f, t = x[4])]):
plot4 := plot::Line2d([x[4], subs(f, t = x[4])],
[x[5], subs(f, t = x[5])]):
plot5 := plot::Line2d([x[2], 0],
[x[2], subs(f, t = x[2])]):
plot6 := plot::Line2d([x[3], 0],
[x[3], subs(f, t = x[3])]):
plot7 := plot::Line2d([x[4], 0],
[x[4], subs(f, t = x[4])]):
plot(plotf, plot1, plot2, plot3, plot4, plot5,
plot6, plot7)

Die Fläche des i-ten Trapezes läßt sich berechnen durch

Wenden wir diese Formel für jedes der Trapeze an und summieren dann alle
Teilflächen auf, so erhalten wir eine Näherung für das Integral von f in den
Grenzen 1 bis 2 :
F := float(sum(d/2*(subs(f, t=x[j]) + subs(f, t=x[j+1])),
j = 1..n))
![]()
Zum Vergleich berechnen wir noch das exakte Integral und berechnen die
Differenz aus diesem und der Näherung:
F0 := float(int(f, t=0..1));
Fehler1 := abs(F - F0)
![]()
![]()
Unsere Näherung weicht also um

von der exakten Lösung ab. Dieser Fehler wird umso kleiner, je feiner wir das
Integrationsintervall aufteilen, d.h. je größer n ist.
(2) Approximation durch Parabeln (Simpson-Regel):
Es stellt sich nun die Frage, ob wir eine Verbesserung der Werte erhalten, wenn
wir die Funktionen stückweise durch Parabeln approximieren. Dazu wollen wir
zunächst eine Formel zur Bestimmung der eindeutig bestimmten Parabel durch
drei gegebene Punkte herleiten. Es seien x1, x2 und x3 die gegebenen
Stützstellen und y1, y2 und y3 die zugehörigen Funktionswerte. Für eine
einfachere Berechnung können wir uns die Parabel in Richtung der x-Achse so
verschoben denken, dass x2 gerade bei x=0 liegt. x1 und x2 liegen dann
symmetrisch zur y-Achse. Die Fläche unter der verschobenen Parabel ist
genauso groß wie die der ursprünglichen Parabel. Wir machen für die gesuchte
Parabel den Ansatz
Parabel := a*t^2 + b*t + c
![]()
Wir können mit Hilfe der Stützstellen und zugehörigen Funktionswerten die
Koeffizienten als Lösung eines Gleichungssystems zu bestimmen:
delete d:
Gleichungssystem :=
{y1 = subs(Parabel, t = -d),
y2 = subs(Parabel, t = 0),
y3 = subs(Parabel, t = d)};
![]()
assume(d > 0):
s := solve(Gleichungssystem,[a,b,c]):
assign(op(s))

Damit nimmt die allgemeine Parabel folgende Gestalt an:
Parabel

Als nächstes wollen wir die obige Formel für die allgemeine Parabel übertragen
auf die beiden Parabeln, welche in den entsprechenden Teilintervallen unsere
Funktion f approximieren sollen. Zu diesem Zweck werten wir zunächst f in den
Stützstellen aus:
f1 := subs(f, t = x[1]):
f2 := subs(f, t = x[2]):
f3 := subs(f, t = x[3]):
f4 := subs(f, t = x[4]):
f5 := subs(f, t = x[5]):
Diese Werte sind nun in dem Ausdruck der allgemeinen Parabel einzusetzen.
Weiterhin ist zu beachten, dass der jeweils mittlere Stützpunkt nicht mehr bei
x=0 liegt. Deshalb benötigen wir noch für die erste Parabel die Substitution

und für die zweite Parabel die Substitution

Wir bekommen also nun zwei Parabeln mit der Variablen r :
Parabel1 := subs(Parabel, y1 = f1, y2 = f2, y3 = f3,
t = r-x[2], d = 1/n);
Parabel2 := subs(Parabel, y1 = f3, y2 = f4, y3 = f5,
t = r-x[4], d = 1/n);
![]()
![]()
Es ist nun noch zu beachten, dass die beiden Parabeln nur in den jeweiligen
Teilintervallen benötigt werden:
plotpa1 := plot::Function2d(Parabel1, r = x[1]..x[3]):
plotpa2 := plot::Function2d(Parabel2, r = x[3]..x[5]):
Nun wollen wir die aus den beiden Parabeln zusammengesetzte Ersatzfunktion
zusammen mit der Funktion f in einem Bild darstellen:
plot(plotpa1, plotpa2, plot6, plotf)

Die allgemeine Parabel läßt sich leicht mit MuPAD integrieren und das Ergebnis
kann dann noch vereinfacht werden:
int(Parabel, t= -d..d)
![]()
normal(%)
![]()
factor(%)
![]()
Diese Formel wenden wir nun auf die beiden Parabeln an:
F1 := d/3*(subs(f, t=x[1]) + 4*subs(f, t=x[2]) + subs(f, t=x[3]));
F2 := d/3*(subs(f, t=x[3]) + 4*subs(f, t=x[4]) + subs(f, t=x[5]));
![]()
![]()
Wir hatten oben die Variable d aus rechentechnischen Gründen gelöscht. Setzen
wir sie wieder auf den ursprünglichen Wert und addieren dann die beiden
Integrale F1 und F2 , so erhalten wir die gesuchte Näherung für das Integral
unserer Ausgangsfunktion f:
d := (1-0)/n:
F := float(F1 + F2)
![]()
Zum Vergleich berechnen wir auch hierfür die Differenz aus dem exakten
Integral und der erhaltenen Näherung:
Fehler2 := abs(F - F0)
![]()
Abschließend überzeugen wir uns davon, dass in unserem Beispiel der
Approximationsfehler der Simpson-Regel ungefähr 20 mal kleiner als der
Approximationsfehler der Trapezregel ist.
("Fehler Trapezregel") = Fehler1;
("Fehler Simpsonregel") = Fehler2;
Fehler1/Fehler2
![]()
![]()
![]()
________________________________________________________________________________
Anmerkungen:
1. Dieses Notebook basiert auf der Ausarbeitung Numerische Integration von
Alexandra Dreiseidler, erschienen in der Reihe NRW-Learn-Line unter der URL
http://www.learn-line.nrw.de/angebote/cas/allemat.htm
2. Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. In dieser Reihe
wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gelöst. Die
Bücher können unter www.schule.mupad.de/literatur kostenfrei kopiert werden.
3. Viele weitere praxisorientierte Aufgaben finden sich unter der Web-Adresse
http://www.learn-line.nrw.de
________________________________________________________________________________