mirror of
https://github.com/janishutz/eth-summaries.git
synced 2025-11-25 10:34:23 +00:00
62 lines
3.6 KiB
TeX
62 lines
3.6 KiB
TeX
\setcounter{subsection}{2}
|
|
\subsection{Grundbegriffe und -Ideen}
|
|
Es ist oft nicht möglich oder sinnvoll einen Integral analytisch zu berechnen.
|
|
Mit Methoden der Quadratur können wir Integrale nummerisch berechnen.
|
|
|
|
\innumpy kann \texttt{scipy.integrate.quad} verwendet werden.
|
|
Falls man jedoch eine manuelle Implementation erstellen will, so nutzt man oft die Trapez- oder Simpson-Regel, da sie sowohl einfach zu implementieren, wie auch effizient sind.
|
|
In gewissen Anwendungen sind Gauss-Quadratur-Formeln nützlich, welche man durch Spektralmethoden ersetzen kann, welche die FFT verwenden und effizienter sind.
|
|
|
|
\begin{definition}[]{Quadratur}
|
|
Ein Integral kann durch eine gewichtete Summe von Funktionswerten der Funktion $f$ an verschiedenen Stellen $c_i^n$ approximiert werden:
|
|
\begin{align*}
|
|
\int_{a}^{b} f(x) \dx \approx Q_n(f; a, b) := \sum_{i = 1}^{n} \omega_i^n f(c_i^n)
|
|
\end{align*}
|
|
wobei $\omega_i^n$ die \textit{Gewichte} und $c_i^n \in [a, b]$ die \textit{Knoten} der Quadraturformel sind.
|
|
\end{definition}
|
|
|
|
Wir wollen natürlich wieder $c_i^n \in [a, b]$ und $w_i^n$ so wählen, dass der Fehler minimiert wird.
|
|
\begin{definition}[]{Fehler}
|
|
Der Fehler der Quadratur $Q_n(f)$ ist
|
|
\begin{align*}
|
|
E(n) = \left| \int_{a}^{b} f(x) \dx - Q_n(f; a, b) \right|
|
|
\end{align*}
|
|
Wir haben \bi{algebraische Konvergenz} wenn $E(n) = \tco{\frac{1}{n^p}}$ mit $p > 0$ und
|
|
\bi{exponentielle Konvergenz} wenn $E(n) = \tco{q^n}$ mit $0 \leq q < 1$
|
|
\end{definition}
|
|
|
|
% Der Polynom, das Ansatz, yep... excellent German there
|
|
Die Idee, den Integral einer schweren Funktion zu berechnen, ist diese mit einer einfachen Funktion, die analytisch integrierbar ist, zu approximieren.
|
|
Wenn wir diese Funktion geschickt wählen, dann ist es sogar möglich, dass wir nur eine solche Funktion für alle Funktionen $f$ benötigen.
|
|
|
|
% NOTE: Called the b_j from the script c_i here, as the clash with the limits of the integral looked a bit confusing
|
|
Wir ersetzen also $f$ durch $f_n \in \text{span} \{ c_0, c_1, \ldots, c_n \}$, wobei die $c_i$ eine Basis des Raums der Funktionen auf $[a, b]$ bilden:
|
|
\rmvspace
|
|
\begin{align*}
|
|
\int_{a}^{b} f(x) \dx x \approx \int_{a}^{b} f_n(x) \dx x = \int_{a}^{b} \left( \sum_{k = 0}^{n} \alpha_k b_k(x) \right) \dx x = \sum_{k = 0}^{n} \alpha_k \int_{a}^{b} c_k(x) \dx x
|
|
\end{align*}
|
|
Falls wir $c_k(x) = x^k$ haben (was oft der Fall ist, je nach Funktion aber könnte eine rationale Funktion oder andere Arten besser geeignet sein), dann erhalten wir:
|
|
\rmvspace
|
|
\begin{align*}
|
|
\int_{a}^{b} c_k(x) \dx x = \frac{b^{k + 1} - a^{k + 1}}{k + 1}
|
|
\end{align*}
|
|
% Mit äquidistanten Punkten $x_0, x_1, \ldots, x_n$ können wir die Koeffizienten $\alpha_0, \alpha_1, \ldots, \alpha_n$ mithilfe eines linearen Gleichunssystems berechnen,
|
|
% wessen Matrix eine $(n + 1) \times (n + 1)$-Vandermonde Matrix ist, so dass $p_n(x) = \alpha_0 + \alpha_1 x + \ldots + \alpha_n x^n$,
|
|
% also sind unsere Gleichungen $p_n(x_j) = f(x_j)$ für alle $j = 0, 1, \ldots, n$.
|
|
% Dieser Ansatz hat jedoch grosse Rundungsfehler.
|
|
|
|
\begin{definition}[]{Lagrange-Polynome}
|
|
Für die Knoten $x_0, x_1, \ldots, x_n \in \R$ definieren wir die Polynome
|
|
\rmvspace
|
|
\begin{align*}
|
|
l_i(x) = \prod_{j = 0 \atop j \neq i}^n \frac{x - x_j}{x_i - x_j}
|
|
\end{align*}
|
|
|
|
\rmvspace
|
|
als die Lagrange-Polynome zu den Stützstellen $x_0, x_1, \ldots, x_n$
|
|
\end{definition}
|
|
Für ein Beispiel verweisen wir auf Beispiel \ref{all:2-3-2}
|
|
|
|
\setLabelNumber{all}{6}
|
|
\fancyremark{Eigenschaften der Lagrange-Polynome} Zusätzlich zu den Eigenschaften in \ref{all:2-3-4} ist folgende Eigenschaft erwähnenswert
|