Wie kaum anders zu erwarten, werden Flächeninhalte und die dafür benötigten bestimmten Integrale heute mit dem Computer berechnet. Bevor wir darauf eingehen, schauen wir uns zunächst den klassischen manuellen Weg an, da dieser einen auch an andereren Stellen gelegentlich sehr nützlichen Zusammenhang zutage fördert (z.B. beim in dieser Veranstaltung nicht betrachteten Lösen von Differentialgleichungen).
7.3.1Manuelles Integrieren¶
Die Definition des Riemann-Integrals taugt nicht für das praktische Ausrechnen von Integralen. Stattdessen werden wir ein zunächst gar nicht offensichtliches Resultat der Mathematik nutzen, welches Flächeninhalte mit Ableitungen von Funktionen verbindet.
7.3.1.1Hauptsatz der Differential- und Integralrechnung¶
Die folgende Erkenntnis, auf deren Herleitung wir hier verzichten, vereinfacht das Berechnen von Integralen erheblich:
Bei differenzierbaren Funktionen hatten wir als Definitionsbereich stets offene Intervalle betrachtet, damit wir uns keine Gedanken über die Definition von Differenzierbarkeit an Randpunkten machen müssen. Bei Integralen verwenden wir hingegen abgeschlossene Intervalle, damit die entstehenden Flächen abgeschlossen sind, also einen Rand haben. Mit Differenzierbarkeit auf in obiger Aussage meinen wir, dass es ein offenes Intervall gibt, auf dem die Funktion differenzierbar ist und dass das Intervall enthält, also .
7.3.1.2Stammfunktionen¶
Die Frage, ob eine zu integrierende Funktion überhaupt Ableitung einer anderen Funktion ist, ist zunächst offen. Nur für solche Funktionen hilft uns der Hauptsatz der Differential- und Integralrechnung bei der Berechnung von Riemann-Integralen. Zur weiteren Klärung führen wir den Begriff der Stammfunktion ein.
Wenn eine Funktion eine Stammfunktion besitzt, dann besitzt sie also automatisch unendlich viele Stammfunktionen, die sich nur um eine additive Konstante unterscheiden.
Die meisten praktisch relevanten Funktionen besitzen eine Stammfunktion:
Aus praktischer Sicht viel relevanter ist die Frage, ob man Stammfunktionen auch explizit als Formel angeben kann. Hier sind Sachlage und Vorgehen ähnlich wie bei der Frage der Differenzierbarkeit:
Für viele elementare Funktionen kann man eine Stammfunktion als Formel angeben.
Für aus elementaren Funktionen zusammengesetzte Funktionen kann man oft mittels diverser “Integrationsregeln” eine Stammfunktion aus den Stammfunktionen der entsprechenden elementaren Funktionen zusammensetzen.
In der Masse aller stetigen Funktionen sind die Funktionen, für die man eine Stammfunktion explizit als Formel angeben kann, in der Minderheit.
Wir werden im Folgenden einen kurzen Blick auf Stammfunktionen einiger elementarer Funktionen werfen, die Arbeit mit Integrationsregeln aber an das Ende des zweiten Semesters verschieben, da diese für Ingenieure kaum noch praktische Relevanz hat.
Bevor wir zu den elementaren Funktionen kommen, noch ein Hinweis auf eine verbreitete Schreibweise:
Beachte bei dieser Schreibweise, dass eine Funktion ist, aber eine Zahl. Welche Stammfunktion man wählt, spielt im Hauptsatz der Differential- und Integralrechnung keine Rolle, da durch die Differenz der beiden Stammfunktionswerte additive Konstanten wieder entfallen. Gelegentlich meint man mit dem Symbol auch die Menge aller Stammfunktionen von , statt einer konkreten Stammfunktion.
7.3.1.3Stammfunktionen elementarer Funktionen¶
In Formelsammlungen gibt es lange Listen mit Stammfunktionen für häufig benötigte Funktionen. Hier nur eine kleine Auswahl:
Beachte, dass stets nur eine Stammfunktion angegeben ist. Addition beliebiger Konstanten liefert alle weiteren Stammfunktionen. Dass eine Funktion Stammfunktion einer anderen Funktion ist, kann man leicht durch Ableiten der Stammfunktion überprüfen.
Aus den Eigenschaften von Ableitungen sieht man außerdem sofort
und
wobei diese Formeln für beliebige Auswahlen konkreter Stammfunktion gelten.
7.3.1.4Beispiele¶
Hier einige konkrete Beispiele zur manuellen Berechnung von Flächeninhalten mittels Riemann-Integralen.
7.3.2SymPy¶
SymPy kann Stammfunktionen bilden und auch bestimmte Integrale (über den Hauptsatz der Differential- und Integralrechnung) berechnen.
import sympy
x = sympy.symbols('x')
# Stammfunktion
F = sympy.integrate(x ** 2 * sympy.sin(x), x)
display(F)
# bestimmtes Integral
i = sympy.integrate(x ** 2 * sympy.sin(x), (x, 0, sympy.pi))
display(i)
# uneigentliches Integral
i = sympy.integrate(x / (x ** 2 + 1), (x, 0, sympy.oo))
display(i)7.3.3Numerische Integration¶
Verfahren zur numerischen Integration sind in allen mathematischen Software-Bibliotheken vorhanden, z.B. auch in SciPy (als Ergänzung zu NumPy). Mit diesen Verfahren können nur bestimmte Integrale berechnet werden, keine Stammfunktionen. Grundidee ist das Annähern der zu brechnenden Fläche durch einfache Teilflächen (Dreiecke, Rechtecke, Trapeze,...), deren Flächeninhalt aus expliziten Formeln bestimmt werden kann. Der Ansatz ist also sehr ähnlich zur Definition von Flächeninhalten mittels Überdeckungen aus Quadraten, nur dass die Teilflächen je nach konkretem Verfahren vielfältiger sein können. Insbesondere kommen gelegentlich auch krummlinig begrenzte Teilflächen (z.B. Parabelstücke) zum Einsatz.
Hier ein Beispiel mit scipy.integrate.quad:
import numpy as np
from scipy.integrate import quad
# zu integrierende Funktion als Python-Funktion
f = lambda x: x ** 2 * np.sin(x)
# alternativ:
#def f(x):
# return x ** 2 * np.sin(x)
# Integration von 0 bis pi
quad(f, 0, np.pi)(5.869604401089359, 6.516569951530559e-14)Der erste zurückgegebene Wert ist der berechnete Wert des Integrals. Der zweite Wert ist eine Schätzung (!) des Fehlers im Vergleich zum exakten Wert des Integrals. Der Fehler liegt hier also sehr wahrscheinlich im Bereich von 10-13, also erst in der 13. Nachkommastelle.
Im Gegensatz zur numerischen Differentiation arbeitet die numerische Integration sehr zuverlässig. Für stetige Funktion erhält man mit den Standardverfahren der Bibliotheken praktisch immer korrekte Ergebnisse. Vorsicht ist nur bei Polstellen oder anderweitigen Besonderheiten geboten.