mirror of
https://github.com/janishutz/eth-summaries.git
synced 2025-11-25 02:24:23 +00:00
[NumCS] Finish clenshaw-curtis
This commit is contained in:
Binary file not shown.
@@ -134,7 +134,6 @@ Mit $c = \pi(a + b)$ und $d = \pi(b - a)$
|
||||
\label{fig:trigo-interp-overarcing}
|
||||
\end{figure}
|
||||
|
||||
\stepLabelNumber{all}
|
||||
\inlineremark Meist ist es nicht möglich (oder nicht sinnvoll) die Fourier-Koeffizienten analytisch zu berechnen,
|
||||
weshalb man wieder zur Numerik und der Trapezformel greift, die folgendermassen definiert ist für $t_l = \frac{l}{N}$,
|
||||
wobei $l = 0, 1 \ldots, N - 1$ und $N$ die Anzahl der Intervalle ist:
|
||||
|
||||
@@ -11,6 +11,7 @@ was bei $N = 1024$ bereits eine Laufzeitsverbesserung von $100\times$ mit sich b
|
||||
Die untenstehende Abbildung \ref{fig:trigo-interp-fft-runtimes} findet sich, zusammen mit dem Code,
|
||||
mit der sie produziert wurde im Skript auf Seite 86-88
|
||||
|
||||
\setLabelNumber{all}{3}
|
||||
\begin{figure}[h!]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.7\textwidth]{assets/01_interpolation/01_trigonometric/fft-runtimes.png}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
\end{multicols}
|
||||
\end{definition}
|
||||
|
||||
\numberingOff
|
||||
\inlineex Zur Fehlerbetrachtung verwenden wir drei Funktionen $f : [0, 1] \rightarrow \R$, welche wir mit trigonometrischer Interpolation an den Punkten $\frac{k}{N}$ approximieren:
|
||||
\begin{enumerate}[label=(\Roman*)]
|
||||
% FIXME: Possibly wrong function definition in script
|
||||
@@ -27,6 +28,7 @@
|
||||
\item Hutfunktion (periodische Fortsetzung von $h$) $g : [0, 1] \rightarrow \R$ mit $g(t) = \left| t - \frac{1}{2} \right|$
|
||||
\end{enumerate}
|
||||
Die untenstehende Abbildung \ref{fig:interpolation-error-examples} beinhaltet einen Plot, auf dem die Konvergenz in Abhängigkeit des Grades des Interpolationspolynoms aufgetragen ist.
|
||||
\numberingOn
|
||||
|
||||
\begin{figure}[h!]
|
||||
\begin{center}
|
||||
@@ -80,10 +82,12 @@ heisst das folgendes für die Approximation von Polynomen von Grad $\deg(P(x)) <
|
||||
|
||||
\fancycorollary{Abtasttheorem} Sei $f$ $1$-periodisch mit maximaler Frequenz $m$, also $\hat{f}(k) = 0 \smallhspace \forall |k| > m$. Falls $N > 2m$, dann gilt $p_N(x) = f(x) \smallhspace \forall x$
|
||||
|
||||
\numberingOff
|
||||
\inlineex Ein Beispiel aus der Musik: Wir haben ein analoges Signal und wollen es digitalisieren.
|
||||
Wir messen die Spannungswerte in äquidistanten Punkten.
|
||||
Falls wir jedoch die Frequenz der Messung zu niedrig wählen, so kann ein total falsches Interpolationspolynom entstehen,
|
||||
wie in der untenstehenden Abbildung \ref{fig:aliasing} zu sehen:
|
||||
\numberingOn
|
||||
\begin{figure}[h!]
|
||||
\begin{center}
|
||||
\includegraphics[width=0.95\textwidth]{assets/01_interpolation/01_trigonometric/aliasing-in-music.png}
|
||||
|
||||
@@ -5,4 +5,33 @@ und Clenshaw und Curtis haben dann zusätzlich noch die Endknoten hinzugefügt (
|
||||
Die Clenshaw-Curtis-Knoten sind die Chebyshev-Abszissen und die Formel verhält sich mit den entsprechenden Gewichten ähnlich gleich wie die Gauss-Quadratur.
|
||||
|
||||
Da die Clenshaw-Curtis-Quadratur mithilfe der DFT berechnet werden kann ist sie sehr effizient.
|
||||
Dazu müssen wir aber zuerst etwas umformen
|
||||
Dazu müssen wir aber zuerst etwas umformen, mit $x = \cos(\theta)$, so dass das Integral eine periodische Funktion wird:
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\int_{-1}^{1} f(x) \dx x = \int_{0}^{\pi} f(\cos(\theta)) \sin(\theta) \dx \theta = f(\cos(\theta))
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
$F(\theta)$ ist $2\pi$-periodisch und gerade, kann sich also in eine Kosinius-Reihe entwickeln, also: $F(\theta) = \sum_{k = 0}^{\infty} a_k \cos(k \theta)$, woraus folgt, dass
|
||||
\drmvspace
|
||||
\begin{align*}
|
||||
\int_{0}^{\pi} F(\theta) \sin(\theta) \dx \theta = \ldots = a_0 + \sum_{2 \leq k \text{ gerade}} \frac{2a_k}{1 - k^2}
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
wobei sich die Koeffizienten $a_k$ mit FFT oder DCT berechnen lassen
|
||||
|
||||
% TODO: Insert code from TA slides here
|
||||
|
||||
Eine wichtige Erkenntnis ist, dass die Newton-Cotes bei grösserer Ordnung komplett unbrauchbar werden, wie das in Abbildung 5.5.24 im Skript zu sehen ist,
|
||||
während die Clenshaw-Curtis-Quadratur ähnlich gut ist wie die Gauss-Quadratur (gleiche Konvergenzordnung).
|
||||
|
||||
\begin{fullTable}{llllll}{Quadratur & Intervall & Gewichtsfunktion & Polynom & Notation & \texttt{scipy.special.}}
|
||||
{Gewichtsfunktionen für Quadraturformeln}
|
||||
Gauss & $(-1, 1)$ & $1$ & Legendre & $P_k$ & \texttt{roots\_legendre} \\
|
||||
Chebyshev I & $(-1, 1)$ & $\frac{1}{\sqrt{1 - x^2}}$ & Chebyshev I & $T_k$ & \texttt{roots\_chebyt} \\
|
||||
Chebyshev II & $(-1, 1)$ & $\sqrt{1 - x^2}$ & Chebyshev II & $U_k$ & \texttt{roots\_chebyu} \\
|
||||
Jacobi $\alpha, \beta > 1$ & $(-1, 1)$ & $(1 - x)^\alpha (1 + x)^\beta$ & Jacobi & $P_k^{(\alpha, \beta)}$ & \texttt{roots\_jacobi} \\
|
||||
Hermite & $\R$ & $e^{-x^2}$ & Hermite & $H_k$ & \texttt{roots\_hermite} \\
|
||||
Laguerre & $(0, \infty)$ & $x^\alpha e^{-x^2}$ & Laguerre & $L_k$ & \texttt{roots\_genlaguerre} \\
|
||||
\end{fullTable}
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
\newsection
|
||||
\subsection{Adaptive Quadratur}
|
||||
Der lokale Fehler einer zusammengesetzten Quadraturformel auf dem Gitter $\mathcal{M} := \{ a = x_0 < x_1 < \dots < x_m = b \}$ ist (für $f \in C^2([a, b])$).
|
||||
Test
|
||||
|
||||
Reference in New Issue
Block a user