From e0fb3e7b5861b9199eb2d361311cd1b768f8bed4 Mon Sep 17 00:00:00 2001 From: Andrea Mozzini Vellen Date: Thu, 9 Jun 2022 15:53:28 +0200 Subject: Korrektur Feedback --- buch/papers/kreismembran/main.tex | 4 +- buch/papers/kreismembran/references.bib | 24 ++++++- buch/papers/kreismembran/teil1.tex | 95 +++++++++++++++++----------- buch/papers/kreismembran/teil2.tex | 107 ++++++++++++++++---------------- buch/papers/kreismembran/teil3.tex | 40 +++++++----- 5 files changed, 161 insertions(+), 109 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/main.tex b/buch/papers/kreismembran/main.tex index e63a118..e19c64a 100644 --- a/buch/papers/kreismembran/main.tex +++ b/buch/papers/kreismembran/main.tex @@ -3,8 +3,8 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Schwingungen einer kreisförmligen Membran\label{chapter:kreismembran}} -\lhead{Schwingungen einer kreisförmligen Membran} +\chapter{Schwingungen einer kreisförmigen Membran\label{chapter:kreismembran}} +\lhead{Schwingungen einer kreisförmigen Membran} \begin{refsection} \chapterauthor{Andrea Mozzini Vellen und Tim Tönz} diff --git a/buch/papers/kreismembran/references.bib b/buch/papers/kreismembran/references.bib index 0b6a683..1aef90b 100644 --- a/buch/papers/kreismembran/references.bib +++ b/buch/papers/kreismembran/references.bib @@ -24,7 +24,7 @@ } @article{kreismembran:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, + author = { Tabea Méndez and Andreas Müller }, title = { Noncommutative harmonic analysis and image registration }, journal = { Appl. Comput. Harmon. Anal.}, year = 2019, @@ -33,3 +33,25 @@ url = {https://doi.org/10.1016/j.acha.2017.11.004} } +@book{lokenath_debnath_integral_2015, + edition = {Third Edition}, + title = {Integral Tansforms and Their Applications}, + publisher = {{CRC} Press}, + author = {{Lokenath Debnath} and Dambaru Bhatta}, + date = {2015}, +} + +@thesis{nishanth_p_vibrations_2018, + title = {Vibrations of a Circular Membrane - Some Undergraduadte Exercises}, + type = {phdthesis}, + author = {{Nishanth P.} and {Udayanandan K. M.}}, + date = {2018}, +} + +@thesis{prof_dr_horst_knorrer_kreisformige_2013, + title = {Kreisförmige Membranen}, + institution = {{ETHZ}}, + type = {phdthesis}, + author = {{Prof. Dr. Horst Knörrer}}, + date = {2013}, +} \ No newline at end of file diff --git a/buch/papers/kreismembran/teil1.tex b/buch/papers/kreismembran/teil1.tex index aef5b79..38bcfe4 100644 --- a/buch/papers/kreismembran/teil1.tex +++ b/buch/papers/kreismembran/teil1.tex @@ -7,13 +7,14 @@ \section{Lösungsmethode 1: Separationsmethode  \label{kreismembran:section:teil1}} \rhead{Lösungsmethode 1: Separationsmethode} -An diesem Punkt bleibt also nur noch die Lösung der partiellen Differentialgleichung. In diesem Kapitel wird sie mit Hilfe der Separationsmetode gelöst. +An diesem Punkt bleibt also nur noch die Lösung der partiellen Differentialgleichung. In diesem Kapitel wird sie mit Hilfe der Separationsmethode gelöst. +\subsection{Aufgabestellung\label{sub:aufgabestellung}} Wie im vorherigen Kapitel gezeigt, lautet die partielle Differentialgleichung, die die Schwingungen einer Membran beschreibt: \begin{equation*} - \frac{1}{c^2}\frac{\partial^2u}{\partial t^2} = \Delta u + \frac{1}{c^2}\frac{\partial^2u}{\partial t^2} = \Delta u. \end{equation*} -Da es sich um eine Kreisscheibe handelt, werden Polarkoordinaten verwendet, so dass sich der Laplaceoperator ergibt: +Da es sich um eine Kreisscheibe handelt, werden Polarkoordinaten verwendet, so dass sich der Laplaceoperator \begin{equation*} \Delta = @@ -23,78 +24,98 @@ Da es sich um eine Kreisscheibe handelt, werden Polarkoordinaten verwendet, so d \frac{\partial}{\partial r} + \frac{1}{r 2} - \frac{\partial^2}{\partial\varphi^2}. + \frac{\partial^2}{\partial\varphi^2} \label{buch:pde:kreis:laplace} \end{equation*} +ergibt. -Es wird eine runde elastische Membran berücksichtigt, die den Gebietbereich $\Omega$ abdeckt und am Rand $\Gamma$ befestigt ist. +Es wird eine runde elastische Membran berücksichtigt, die das Gebiet $\Omega$ abdeckt und am Rand $\Gamma$ befestigt ist. Es wird daher davon ausgegangen, dass die Membran aus einem homogenen Material von vernachlässigbarer Dicke gefertigt ist. -Die Membran kann verformt werden, aber innere elastische Kräfte wirken den Verformungen entgegen. Es wirken keine äusseren Kräfte. Es handelt sich somit von einer kreisförmligen eigespannten homogenen schwingenden Membran. +Die Membran kann verformt werden, aber innere elastische Kräfte wirken den Verformungen entgegen. Es wirken keine äusseren Kräfte. Es handelt sich somit von einer kreisförmligen eingespannten homogenen schwingenden Membran. Daher ist die Membranabweichung im Punkt $(r,\varphi)$ $\in$ $\overline{\rm \Omega}$ zum Zeitpunkt $t$: \begin{align*} u: \overline{\rm \Omega} \times \mathbb{R}_{\geq 0} &\longrightarrow \mathbb{R}\\ (r,\varphi,t) &\longmapsto u(r,\varphi,t) \end{align*} -Da die Membran am Rand befestigt ist, kann es keine Schwingungen geben, so dass die \textit{Dirichlet-Randbedingung} gilt: +Da die Membran am Rand befestigt ist, kann es keine Schwingungen geben, so dass die \textit{Dirichlet-Randbedingung} \cite{prof_dr_horst_knorrer_kreisformige_2013} \begin{equation*} - u\big|_{\Gamma} = 0 + u\big|_{\Gamma} = 0 \quad \text{für} \quad 0 \leq \varphi \leq 2\pi,\quad t \geq 0 \end{equation*} +gilt. + Um eine eindeutige Lösung bestimmen zu können, werden die folgenden Anfangsbedingungen festgelegt: \begin{align*} u(r,\varphi, 0) &= f(r,\varphi)\\ - \frac{\partial}{\partial t} u(r,\varphi, 0) &= g(r,\varphi) + u_t(r,\varphi, 0) &= g(r,\varphi). \end{align*} + +\subsection{Lösung\label{sub:lösung1}} +\subsubsection{Ansatz der Separation der Variablen\label{subsub:ansatz_separation}} Daher muss an dieser Stelle von einer Separation der Variablen ausgegangen werden: \begin{equation*} u(r,\varphi, t) = F(r)G(\varphi)T(t) \end{equation*} -Dank der Randbedingungen kann also gefordert werden, dass $F(R)=0$ ist, und natürlich, dass $G(\varphi)$ $2\pi$ periodisch ist. Eingesetz in der Differenzialgleichung ergibt: +Dank der Randbedingungen kann also gefordert werden, dass $F(R)=0$ ist, und natürlich, dass $G(\varphi)$ $2\pi$ periodisch ist. Eingesetzt in der Differenzialgleichung ergibt sich: \begin{equation*} - \frac{1}{c^2}\frac{T''(t)}{T(t)}=\frac{F''(r)}{F(r)}+\frac{1}{r}\frac{F'(r)}{F(r)}+\frac{1}{r^2}\frac{G''(\varphi)}{G(\varphi)} + \frac{1}{c^2}\frac{T''(t)}{T(t)}=\frac{F''(r)}{F(r)}+\frac{1}{r}\frac{F'(r)}{F(r)}+\frac{1}{r^2}\frac{G''(\varphi)}{G(\varphi)}. \end{equation*} -Da die linke Seite nur von $t$ und die rechte Seite nur von $r$ und $\varphi$ abhängt, müssen sie gleich einer reellen Zahl sein. Aus physikalischen Grunden suchen wir nach Lösungen, die weder exponentiell in der Zeit wachsen noch exponentiell abklingen. Dies bedeutet, dass die Konstante negativ sein muss, also schreibt man $k=-k^2$. Daraus ergeben sich die folgenden zwei Gleichungen: -\begin{gather*} - T''(t) + c^2\kappa^2T(t) = 0\\ - r^2\frac{F''(r)}{F(r)} + r \frac{F'(r)}{F(r)} +\kappa^2 r^2 = - \frac{G''(\varphi)}{G(\varphi)} -\end{gather*} +Da die linke Seite nur von $t$ und die rechte Seite nur von $r$ und $\varphi$ abhängt, müssen sie gleich einer reellen Zahl sein. Aus physikalischen Gründen suchen wir nach Lösungen, die weder exponentiell in der Zeit wachsen noch exponentiell abklingen. Dies bedeutet, dass die Konstante negativ sein muss, also schreibt man $k=-k^2$. Daraus ergeben sich die folgenden zwei Gleichungen: +\begin{align*} + T''(t) + c^2\kappa^2T(t) &= 0\\ + r^2\frac{F''(r)}{F(r)} + r \frac{F'(r)}{F(r)} +\kappa^2 r^2 &= - \frac{G''(\varphi)}{G(\varphi)}. +\end{align*} In der zweiten Gleichung hängt die linke Seite nur von $r$ ab, während die rechte Seite nur von $\varphi$ abhängt. Sie müssen also wiederum gleich einer reellen Zahl $\nu$ sein. Also das: -\begin{gather*} - r^2F''(r) + rF'(r) + (\kappa^2 r^2 - \nu)F(r) = 0 \\ - G''(\varphi) = \nu G(\varphi) -\end{gather*} -$G$ kann in einer Fourierreihe entwickelt werden, so dass man sieht, dass $\nu$ die Form $n^2$ mit einer positiven ganzen Zahl sein muss, also: +\begin{align*} + r^2F''(r) + rF'(r) + (\kappa^2 r^2 - \nu)F(r) &= 0 \\ + G''(\varphi) &= \nu G(\varphi). +\end{align*} + +\subsubsection{Lösung für $G(\varphi)$\label{subsub:lösung_G}} +Da für die Zweite Gelichung Lösungen von Schwingungen erwartet werden, für die $G''(\varphi)=-\omega^2 G(\varphi)$ gilt, schreibt die gemeinsame Konstante als $-\nu^2$, was die Formeln später vereinfacht. Also: \begin{equation*} G(\varphi) = C_n \cos(\varphi) + D_n \sin(\varphi) + \label{eq:cos_sin_überlagerung} \end{equation*} -Die Gleichung $F$ hat die Gestalt -\begin{equation*} - r^2F''(r) + rF'(r) + (\kappa^2 r^2 - n^2)F(r) = 0 \quad (*) -\end{equation*} -Wir bereits in der Vorlesung von Prof. Müller gezeigt, sind die Besselfunktionen + +\subsubsection{Lösung für $F(r)$\label{subsub:lösung_F}} +Die Gleichung für $F$ hat die Gestalt +\begin{align} + r^2F''(r) + rF'(r) + (\kappa^2 r^2 - n^2)F(r) = 0 + \label{eq:2nd_degree_PDE} +\end{align} +Wir bereits in Kapitel \ref{buch:differntialgleichungen:section:bessel} gezeigt, sind die Besselfunktionen \begin{equation*} J_{\nu}(x) = r^\nu \displaystyle\sum_{m=0}^{\infty} \frac{(-1)^m x^{2m}}{2^{2m+\nu}m! \Gamma (\nu + m+1)} \end{equation*} -Lösungen der "Besselschen Differenzialgleichung" +Lösungen der Besselschen Differenzialgleichung \begin{equation*} x^2 y'' + xy' + (x^2 - \nu^2)y = 0 \end{equation*} -Die Funktionen $F(r) = J_n(\kappa r)$ lösen also die Differentialgleichung $(*)$. Die +Die Funktionen $F(r) = J_n(\kappa r)$ lösen also die Differentialgleichung \eqref{eq:2nd_degree_PDE}. Die Randbedingung $F(R)=0$ impliziert, dass $\kappa R$ eine Nullstelle der Besselfunktion $J_n$ sein muss. Man kann zeigen, dass die Besselfunktionen $J_n, n \geq 0$, alle unendlich viele Nullstellen \begin{equation*} \alpha_{1n} < \alpha_{2n} < ... \end{equation*} -haben, und dass $\underset{\substack{m\to\infty}}{\text{lim}} \alpha_{mn}=\infty$. Somit ergit sich, dass $\kappa = \frac{\alpha_{mn}}{R}$ für ein $m\geq 1$, und dass +haben, und dass $\underset{\substack{m\to\infty}}{\text{lim}} \alpha_{mn}=\infty$. Somit ergibt sich, dass $\kappa = \frac{\alpha_{mn}}{R}$ für ein $m\geq 1$, und dass \begin{equation*} - F(r) = J_n (\kappa_{mn}r) \quad mit \quad \kappa_{mn}=\frac{\alpha_{mn}}{R} + F(r) = J_n (\kappa_{mn}r) \quad \text{mit} \quad \kappa_{mn}=\frac{\alpha_{mn}}{R} \end{equation*} -Die Differenzialgleichung $T''(t) + c^2\kappa^2T(t) = 0$, wird auf ähnliche Weise gelöst wie $G(\varphi)$. Durch Überlagerung aller Ergebnisse erhält man die Lösung -\begin{equation} - u(r, \varphi, t) = \displaystyle\sum_{m=1}^{\infty}\displaystyle\sum_{n=0}^{\infty} J_n (k_{mn}r)\cos(n\varphi)[a_{mn}\cos(c \kappa_{mn} t)+b_{mn}\sin(c \kappa_{mn} t)] -\end{equation} -Dabei sind m und n ganze Zahlen, wobei m für die Anzahl der Knotenkreise und n -für die Anzahl der Knotenlinien steht. Es gibt bestimmte Bereiche auf der Membran, in denen es keine Bewegung oder Vibration gibt. Wenn der nicht schwingende Bereich ein Kreis ist, nennt man ihn einen Knotenkreis, und wenn er eine Linie ist, nennt man ihn ebenfalls eine Knotenlinie. $Jn(\kappa_{mn}r)$ ist die Besselfunktion $n$-ter Ordnung, wobei kmn die Wellenzahl und $r$ der Radius ist. $a_{mn}$ und $b_{mn}$ sind die zu bestimmenden Konstanten. -An diesem Punkt stellte sich die Frage, ob es möglich wäre, die partielle Differentialgleichung mit einer anderen Methode als der der Trennung der Variablen zu lösen. Nach einer kurzen Recherche und Diskussion mit Prof. Müller wurde festgestellt, dass die beste Methode die Transformationsmethode ist, genauer gesagt die Anwendung der Hankel-Transformation. Im nächsten Kapitel wird daher diese Integraltransformation vorgestellt und entwickelt, und es wird erläutert, warum sie für diese Art von Problem geeignet ist. +\subsubsection{Lösung für $T(t)$\label{subsub:lösung_T}} +Die Differenzialgleichung $T''(t) + c^2\kappa^2T(t) = 0$, wird auf ähnliche Weise gelöst wie $G(\varphi)$. + +\subsubsection{Zusammenfassung der Lösungen\label{subsub:zusammenfassung_lösungen}} +Durch Überlagerung aller Ergebnisse erhält man die Lösung +\begin{align} + u(r, \varphi, t) = \displaystyle\sum_{m=1}^{\infty}\displaystyle\sum_{n=0}^{\infty} J_n (k_{mn}r)[a_{mn}\cos(n\varphi) + b_{mn}\sin(n\varphi)](n\varphi)[c_{mn}\cos(c \kappa_{mn} t)+d_{mn}\sin(c \kappa_{mn} t)] + \label{eq:lösung_endliche_generelle} +\end{align} + +Dabei sind $m$ und $n$ ganze Zahlen, wobei $m$ für die Anzahl der Knotenkreise und $n$ +für die Anzahl der Knotenlinien steht. Es gibt bestimmte Bereiche auf der Membran, in denen es keine Bewegung oder Vibration gibt. Wenn der nicht schwingende Bereich ein Kreis ist, nennt man ihn einen Knotenkreis, und wenn er eine Linie ist, nennt man ihn ebenfalls eine Knotenlinie. $Jn(\kappa_{mn}r)$ ist die Besselfunktion $n$-ter Ordnung, wobei $\kappa mn$ die Wellenzahl und $r$ der Radius ist. $a_{mn}$ und $b_{mn}$ sind die zu bestimmenden Konstanten. + + +An diesem Punkt stellte sich die Frage, ob es möglich wäre, die partielle Differentialgleichung mit einer anderen Methode als der der Trennung der Variablen zu lösen. Nach einer kurzen Recherche wurde festgestellt, dass die beste Methode die Transformationsmethode ist, genauer gesagt die Anwendung der Hankel-Transformation. Im nächsten Kapitel wird daher diese Integraltransformation vorgestellt und entwickelt, und es wird erläutert, warum sie für diese Art von Problem geeignet ist. diff --git a/buch/papers/kreismembran/teil2.tex b/buch/papers/kreismembran/teil2.tex index 8afe817..6efda49 100644 --- a/buch/papers/kreismembran/teil2.tex +++ b/buch/papers/kreismembran/teil2.tex @@ -5,95 +5,98 @@ \section{Die Hankel Transformation \label{kreismembran:section:teil2}} \rhead{Die Hankel Transformation} -Hermann Hankel (1839-1873) war ein deutscher Mathematiker, der für seinen Beitrag zur mathematischen Analyse und insbesondere für seine namensgebende Transformation bekannt ist. -Diese Transformation tritt bei der Untersuchung von funktionen auf, die nur von der Enternung des Ursprungs abhängen. -Er studierte auch funktionen, jetzt Hankel- oder Bessel- Funktionen genannt, der dritten Art. -Die Hankel Transformation mit Bessel Funktionen al Kern taucht natürlich bei achsensymmetrischen Problemen auf, die in Zylindrischen Polarkoordinaten formuliert sind. -In diesem Kapitel werden die Theorie der Transformation und einige Eigenschaften der Grundoperationen erläutert. - - -Wir führen die Definition der Hankel Transformation aus der zweidimensionalen Fourier Transformation und ihrer Umkehrung ein, die durch: +Hermann Hankel (1839--1873) war ein deutscher Mathematiker, der für seinen Beitrag zur mathematischen Analysis und insbesondere für die nach ihm benannte Transformation bekannt ist. +Diese Transformation tritt bei der Untersuchung von Funktionen auf, die nur von der Entfernung des Ursprungs abhängen. +Er studierte auch Funktionen, jetzt Hankel- oder Bessel- Funktionen genannt, der dritten Art. +Die Hankel-Transformation, die die Bessel-Funktion enthält, taucht natürlich bei achsensymmetrischen Problemen auf, die in zylindrischen Polarkoordinaten formuliert sind. +In diesem Abschnitt werden die Theorie der Transformation und einige Eigenschaften der Grundoperationen erläutert. + +\subsubsection{Hankel-Transformation \label{subsub:hankel_tansformation}} +Wir führen die Definition der Hankel-Transformation \cite{lokenath_debnath_integral_2015} aus der zweidimensionalen Fourier-Transformation und ihrer Umkehrung ein, die durch: \begin{align} - \mathscr{F}\{f(x,y)\} & = F(k,l)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{-i( \bm{\kappa}\cdot \mathbf{r})}f(x,y) dx dy,\label{equation:fourier_transform}\\ - \mathscr{F}^{-1}\{F(x,y)\} & = f(x,y)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{i(\bm{\kappa}\cdot \mathbf{r}))}F(k,l) dx dy \label{equation:inv_fourier_transform} + \mathscr{F}\{f(x,y)\} & = F(k,l)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{-i( \bm{\kappa}\cdot \mathbf{r})}f(x,y) \; dx dy,\label{equation:fourier_transform}\\ + \mathscr{F}^{-1}\{F(x,y)\} & = f(x,y)=\frac{1}{2\pi}\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}e^{i(\bm{\kappa}\cdot \mathbf{r}))}F(k,l) \; dx dy \label{equation:inv_fourier_transform} \end{align} -wo $\mathbf{r}=(x,y)$ und $\bm{\kappa}=(k,l)$. Wie bereits erwähnt, sind Polarkoordinaten für diese Art von Problemen am besten geeignet, also mit, $(x,y)=r(\cos\theta,\sin\theta)$ und $(k,l)=\kappa(\cos\phi,\sin\phi)$, findet man $\bm{\kappa}\cdot\mathbf{r}=\kappa r(\cos(\theta-\phi))$ und danach: +wo $\mathbf{r}=(x,y)$ und $\bm{\kappa}=(k,l)$. Polarkoordinaten sind für diese Art von Problemen am besten geeignet, mit $(x,y)=r(\cos\theta,\sin\theta)$ und $(k,l)=\kappa(\cos\phi,\sin\phi)$ findet man $\bm{\kappa}\cdot\mathbf{r}=\kappa r(\cos(\theta-\phi))$ und danach: \begin{align} - F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}r dr \int_{0}^{2\pi}e^{-ikr\cos(\theta-\phi)}f(r,\theta) d\phi. + F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}r \; dr \int_{0}^{2\pi}e^{-ikr\cos(\theta-\phi)}f(r,\theta) \; d\phi. \label{equation:F_ohne_variable_wechsel} \end{align} Dann wird angenommen dass, $f(r,\theta)=e^{in\theta}f(r)$, was keine strenge Einschränkung ist, und es wird eine Änderung der Variabeln vorgenommen $\theta-\phi=\alpha-\frac{\pi}{2}$, um \eqref{equation:F_ohne_variable_wechsel} zu reduzieren: \begin{align} - F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}rf(r) dr \int_{\phi_{0}}^{2\pi+\phi_{0}}e^{in(\phi-\frac{\pi}{2})+i(n\alpha-kr\sin\alpha)} d\alpha, + F(k,\phi)=\frac{1}{2\pi}\int_{0}^{\infty}rf(r) \; dr \int_{\phi_{0}}^{2\pi+\phi_{0}}e^{in(\phi-\frac{\pi}{2})+i(n\alpha-kr\sin\alpha)} \; d\alpha, \label{equation:F_ohne_bessel} \end{align} wo $\phi_{0}=(\frac{\pi}{2}-\phi)$. -Unter Verwendung der Integral Darstellung der Besselfunktion vom Ordnung n -\begin{align} - J_n(\kappa r)=\frac{1}{2\pi}\int_{\phi_{0}}^{2\pi + \phi_{0}}e^{i(n\alpha-\kappa r \sin \alpha)} d\alpha +Unter Verwendung der Integraldarstellung der Besselfunktion vom Ordnung $n$ \eqref{buch:fourier:eqn:bessel-integraldarstellung} +\begin{equation*} + J_n(\kappa r)=\frac{1}{2\pi}\int_{\phi_{0}}^{2\pi + \phi_{0}}e^{i(n\alpha-\kappa r \sin \alpha)} \; d\alpha \label{equation:bessel_n_ordnung} -\end{align} +\end{equation*} \eqref{equation:F_ohne_bessel} wird sie zu: \begin{align} - F(k,\phi)&=e^{in(\phi-\frac{\pi}{2})}\int_{0}^{\infty}rJ_n(\kappa r) f(r) dr \label{equation:F_mit_bessel_step_1} \\ + F(k,\phi)&=e^{in(\phi-\frac{\pi}{2})}\int_{0}^{\infty}rJ_n(\kappa r) f(r) \; dr \nonumber \\ &=e^{in(\phi-\frac{\pi}{2})}\tilde{f}_n(\kappa), \label{equation:F_mit_bessel_step_2} \end{align} -wo $\tilde{f}_n(\kappa)$ ist die \textit{Hankel Transformation} von $f(r)$ und ist formell definiert durch: +wo $\tilde{f}_n(\kappa)$ ist die \textit{Hankel-Transformation} von $f(r)$ und ist formell definiert durch: \begin{align} - \mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)=\int_{0}^{\infty}rJ_n(\kappa r) f(r) dr. + \mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)=\int_{0}^{\infty}rJ_n(\kappa r) f(r) \; dr. \label{equation:hankel} \end{align} +\subsubsection{Inverse Hankel-Transformation \label{subsub:inverse_hankel_tansformation}} Ähnlich verhält es sich mit der inversen Fourier Transformation in Form von polaren Koordinaten unter der Annahme $f(r,\theta)=e^{in\theta}f(r)$ mit \eqref{equation:F_mit_bessel_step_2}, wird die inverse Fourier Transformation \eqref{equation:inv_fourier_transform}: -\begin{align} - e^{in\theta}f(r)&=\frac{1}{2\pi}\int_{0}^{\infty}\kappa d\kappa \int_{0}^{2\pi}e^{i\kappa r \cos (\theta - \phi)}F(\kappa,\phi) d\phi\\ - &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) d\kappa \int_{0}^{2\pi}e^{in(\phi - \frac{\pi}{2})- i\kappa r \cos (\theta - \phi)} d\phi, -\end{align} +\begin{align*} + e^{in\theta}f(r)&=\frac{1}{2\pi}\int_{0}^{\infty}\kappa \; d\kappa \int_{0}^{2\pi}e^{i\kappa r \cos (\theta - \phi)}F(\kappa,\phi) \; d\phi \\ + &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) \; d\kappa \int_{0}^{2\pi}e^{in(\phi - \frac{\pi}{2})- i\kappa r \cos (\theta - \phi)} \; d\phi, +\end{align*} was durch den Wechsel der Variablen $\theta-\phi=-(\alpha+\frac{\pi}{2})$ und $\theta_0=-(\theta+\frac{\pi}{2})$, -\begin{align} - &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) d\kappa \int_{\theta_0}^{2\pi+\theta_0}e^{in(\theta + \alpha - i\kappa r \sin\alpha)} d\alpha \nonumber \\ - &= e^{in\theta}\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) d\kappa,\quad \text{von \eqref{equation:bessel_n_ordnung}} -\end{align} +\begin{align*} + &= \frac{1}{2\pi}\int_{0}^{\infty}\kappa \tilde{f}_n(\kappa) \; d\kappa \int_{\theta_0}^{2\pi+\theta_0}e^{in(\theta + \alpha - i\kappa r \sin\alpha)} \; d\alpha \\ + &= e^{in\theta}\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) \; d\kappa, +\end{align*} -Also, die inverse \textit{Hankel Transformation} ist so definiert: +von \eqref{equation:bessel_n_ordnung} also ist, die inverse \textit{Hankel-Transformation} so definiert: \begin{align} - \mathscr{H}^{-1}_n\{\tilde{f}_n(\kappa)\}=f(r)=\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) d\kappa. + \mathscr{H}^{-1}_n\{\tilde{f}_n(\kappa)\}=f(r)=\int_{0}^{\infty}\kappa J_n(\kappa r) \tilde{f}_n(\kappa) \; d\kappa. \label{equation:inv_hankel} \end{align} -Anstelle von $\tilde{f}_n(\kappa)$, wird häufig für die Hankel Transformation verwendet, indem die Ordnung angegeben wird. +Anstelle von $\tilde{f}_n(\kappa)$, wird häufig für die Hankel-Transformation verwendet, indem die Ordnung angegeben wird. \eqref{equation:hankel} und \eqref{equation:inv_hankel} Integralen existieren für eine grosse Klasse von Funktionen, die normalerweise in physikalischen Anwendungen benötigt werden. -Alternativ kann auch die berühmte Hankel Transformationsformel verwendet werden, +Alternativ kann auch die berühmte Hankel-Transformationsformel verwendet werden, -\begin{align} - f(r) = \int_{0}^{\infty}\kappa J_n(\kappa r) d\kappa \int_{0}^{\infty} p J_n(\kappa p)f(p) dp, +\begin{align*} + f(r) = \int_{0}^{\infty}\kappa J_n(\kappa r) \; d\kappa \int_{0}^{\infty} p J_n(\kappa p)f(p) \; dp, \label{equation:hankel_integral_formula} -\end{align} -um die Hankel Transformation \eqref{equation:hankel} und ihre Inverse \eqref{equation:inv_hankel} zu definieren. -Insbesondere die Hankel Transformation der nullten Ordnung ($n=0$) und der ersten Ordnung ($n=1$) sind häufig nützlich, um Lösungen für Probleme mit der Laplace Gleichung in einer achsensymmetrischen zylindrischen Geometrie zu finden. - -\subsection{Operative Eigenschaften der Hankel Transformation\label{sub:op_properties_hankel}} -In diesem Kapitel werden die operativen Eigenschaften der Hankel Transformation aufgeführt. Der Beweis für ihre Gültigkeit wird jedoch nicht analysiert. +\end{align*} +um die Hankel-Transformation \eqref{equation:hankel} und ihre Inverse \eqref{equation:inv_hankel} zu definieren. +Insbesondere die Hankel-Transformation der nullten Ordnung ($n=0$) und der ersten Ordnung ($n=1$) sind häufig nützlich, um Lösungen für Probleme mit der Laplace Gleichung in einer achsensymmetrischen zylindrischen Geometrie zu finden. -\subsubsection{Theorem 1: Skalierung \label{subsub:skalierung}} -Wenn $\mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)$, dann: +\subsection{Operative Eigenschaften der Hankel-Transformation\label{sub:op_properties_hankel}} +In diesem Kapitel werden die operativen Eigenschaften der Hankel-Transformation aufgeführt. Der Beweis für ihre Gültigkeit wird jedoch nicht analysiert. -\begin{equation*} - \mathscr{H}_n\{f(ar)\}=\frac{1}{a^{2}}\tilde{f}_n \left(\frac{\kappa}{a}\right), \quad a>0. -\end{equation*} +\begin{satz}{Skalierung:} + Wenn $\mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)$, dann: + + \begin{equation*} + \mathscr{H}_n\{f(ar)\}=\frac{1}{a^{2}}\tilde{f}_n \left(\frac{\kappa}{a}\right), \quad a>0. + \end{equation*} +\end{satz} -\subsubsection{Theorem 2: Persevalsche Relation \label{subsub:perseval}} +\begin{satz}{Persevalsche Relation (Skalarprodukt bleibt erhalten):} Wenn $\tilde{f}(\kappa)=\mathscr{H}_n\{f(r)\}$ und $\tilde{g}(\kappa)=\mathscr{H}_n\{g(r)\}$, dann: \begin{equation*} - \int_{0}^{\infty}rf(r) dr = \int_{0}^{\infty}\kappa\tilde{f}(\kappa)\tilde{g}(\kappa) d\kappa. + \int_{0}^{\infty}rf(r)g(r) \; dr = \int_{0}^{\infty}\kappa\tilde{f}(\kappa)\tilde{g}(\kappa) \; d\kappa. \end{equation*} +\end{satz} -\subsubsection{Theorem 3: Hankel Transformationen von Ableitungen \label{subsub:ableitungen}} +\begin{satz}{Hankel-Transformationen von Ableitungen:} Wenn $\tilde{f}_n(\kappa)=\mathscr{H}_n\{f(r)\}$, dann: \begin{align*} @@ -101,13 +104,13 @@ Wenn $\tilde{f}_n(\kappa)=\mathscr{H}_n\{f(r)\}$, dann: &\mathscr{H}_1\{f'(r)\}=-\kappa \tilde{f}_0(\kappa), \end{align*} bereitgestellt dass $[rf(r)]$ verschwindet als $r\to0$ und $r\to\infty$. +\end{satz} -\subsubsection{Theorem 4 \label{subsub:thorem4}} +\begin{satz} Wenn $\mathscr{H}_n\{f(r)\}=\tilde{f}_n(\kappa)$, dann: \begin{equation*} \mathscr{H}_n \left\{ \left( \nabla^2 - \frac{n^2}{r^2} f(r)\right)\right\}= \mathscr{H}_n\left\{\frac{1}{r}\frac{d}{dr}\left(r\frac{df}{dr}\right) - \frac{n^2}{r^2}f(r)\right\}=-\kappa^2\tilde{f}_{n}(\kappa), \end{equation*} -bereitgestellt dass $rf'(r)$ und $rf(r)$ verschwinden als $r\to0$ und $r\to\infty$. - - +bereitgestellt dass $rf'(r)$ und $rf(r)$ verschwinden für $r\to0$ und $r\to\infty$. +\end{satz} diff --git a/buch/papers/kreismembran/teil3.tex b/buch/papers/kreismembran/teil3.tex index bef8b5f..10338e7 100644 --- a/buch/papers/kreismembran/teil3.tex +++ b/buch/papers/kreismembran/teil3.tex @@ -6,7 +6,10 @@ \section{Lösungsmethode 2: Transformationsmethode \label{kreismembran:section:teil3}} \rhead{Lösungsmethode 2: Transformationsmethode} -Die Hankel-Transformation wird dann zur Lösung der Differentialgleichung verwendet. Es müssen jedoch einige Änderungen an dem Problem vorgenommen werden, damit es mit den Annahmen übereinstimmt, die für die Verwendung der Hankel-Transformation erforderlich sind. Das heisst, dass die Funktion u nur von der Entfernung zum Ausgangspunkt abhängt. Wir führen also das Konzept einer unendlichen und achsensymmetrischen Membran ein: +Die Hankel-Transformation wird dann zur Lösung der Differentialgleichung verwendet. Es müssen jedoch einige Änderungen an dem Problem vorgenommen werden, damit es mit den Annahmen übereinstimmt, die für die Verwendung der Hankel-Transformation erforderlich sind. Das heisst, dass die Funktion $u$ nur von der Entfernung zum Ausgangspunkt abhängt. + +\subsubsection{Transformation und Reduktion auf eine algebraische Gleichung\label{subsub:transf_reduktion}} +Führt man also das Konzept einer unendlichen und achsensymmetrischen Membran ein: \begin{equation*} \frac{\partial^2u}{\partial t^2} = @@ -18,16 +21,15 @@ Die Hankel-Transformation wird dann zur Lösung der Differentialgleichung verwen \end{equation*} \begin{align} - u(r,0)=f(r), \quad \frac{\partial}{\partial t} u(r,0) = g(r), \quad \text{für} \quad 0 Date: Tue, 19 Jul 2022 19:38:35 +0200 Subject: Added analysis of reaching target --- buch/papers/lambertw/main.tex | 2 +- buch/papers/lambertw/teil0.tex | 18 ++-- buch/papers/lambertw/teil1.tex | 204 +++++++++++++++-------------------------- 3 files changed, 83 insertions(+), 141 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/main.tex b/buch/papers/lambertw/main.tex index 68b7a5d..a347608 100644 --- a/buch/papers/lambertw/main.tex +++ b/buch/papers/lambertw/main.tex @@ -28,10 +28,10 @@ Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren \end{itemize} \input{papers/lambertw/teil0.tex} -%\input{papers/lambertw/teil1.tex} %\input{papers/lambertw/teil2.tex} %\input{papers/lambertw/teil3.tex} \input{papers/lambertw/teil4.tex} +\input{papers/lambertw/teil1.tex} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 73fe187..50d2255 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -4,7 +4,7 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Was sind Verfolgungskurven? -\label{lambertw:section:teil0}} +\label{lambertw:section:Was_sind_Verfolgungskurven}} \rhead{Teil 0} Verfolgungskurven tauchen oft auf bei fragen wie, welchen Pfad begeht ein Hund während er einer Katze nachrennt. Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. Der Verfolger versucht sein Ziel zu ergattern und das Ziel versucht zu entkommen. Der Pfad, der der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. Um diese Kurve zu bestimmen, kann das Verfolgungsproblem als DGL formuliert werden. Diese DGL entspringt der Verfolgungsstrategie des Verfolgers. @@ -31,17 +31,17 @@ Wie bereits erwähnt, wird der Verfolger durch seine Verfolgungsstrategie defini \hline \end{tabular} \caption{mögliche Verfolgungsstrategien} - \label{lambertw:Strategien} + \label{lambertw:table:Strategien} \end{table} -%\begin{figure} -% \centering -% \includegraphics{.\papers\lambertw\Bilder\pursuerDGL2.pdf} -% \label{pursuer:pursuerDGL2} -%\end{figure} +\begin{figure} + \centering + \includegraphics[scale=0.2]{./papers/lambertw/Bilder/pursuerDGL2.pdf} + \label{lambertw:grafic:pursuerDGL2} +\end{figure} In der Tabelle \eqref{lambertw:Strategien} sind drei mögliche Strategien aufgezählt. Folgend wird nur noch auf die Strategie 1 eingegangen. @@ -67,7 +67,7 @@ Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nic Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. Nun wird die Gleichung mit deren rechten Seite skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. \begin{align} - \label{pursuer:pursuerDGL} + \label{lambertw:pursuerDGL} \frac{\overrightarrow{Z}-\overrightarrow{V}}{|\overrightarrow{Z}-\overrightarrow{V}|}\cdot \overrightarrow{\dot{V}} &= @@ -87,7 +87,7 @@ Wie der Verfolger wird auch unser Ziel sich strikt an eine Fluchtstrategie halte Diese Strategie kann als Parameterdarstellung der Position nach der Zeit beschrieben werden. Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebene mit der Parametrisierung \begin{equation} - \vec{r}(t) + \vec{Z}(t) = \begin{Bmatrix} 0\\ diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index cc4a62a..3415c45 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -3,160 +3,102 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Ziel +\section{Wird das Ziel erreicht? \label{lambertw:section:teil1}} \rhead{Problemstellung} - - -%\begin{figure}[H] -% \centering -% \includegraphics[width=0.5\textwidth]{.\Bilder\something.pdf} -% \label{pursuer:grafik1} -%\end{figure} - - - -Je nach Verfolgungsstrategie die der Verfolger verwendet, entsteht eine andere DGL. -Für dieses konkrete Beispiel wird einfachheitshalber die simpelste Strategie gewählt. -Bei dieser Strategie bewegt sich der Verfolger immer direkt auf sein Ziel hinzu. -Womit der Geschwindigkeitsvektor des Verfolgers zu jeder Zeit direkt auf das Ziel zeigt. - -Um die DGL dieses Problems herzuleiten wird der Sachverhalt in der Grafik \eqref{pursuer:grafik1} aufgezeigt. -Der Punkt $P$ ist der Verfolger und der Punkt $A$ ist sein Ziel. - -Um dies mathematisch beschreiben zu können, wird der Richtungsvektor -\begin{equation} - \frac{A-P}{|A-P|} +Sehr oft kommt es vor, dass bei Verfolgungsproblemen die Frage auftaucht, ob das Ziel überhaupt erreicht wird. +Wenn zum Beispiel die Geschwindigkeit des Verfolgers kleiner ist als diejenige des Ziels, gibt es Anfangsbedingungen bei denen das Ziel nie erreicht wird. +Sobald diese Frage beantwortet wurde stellt sich meist die Frage, wie lange es dauert bis das Ziel erreicht wird. +Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel betrachtet. + +\subsection{Ziel erreichen (überarbeiten) +\label{lambertw:subsection:ZielErreichen}} +Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. +Wir verwenden die Hergeleiteten Gleichungen +\begin{align*} + x\left(t\right) + &= + \sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} \\ + y(x) + &= + \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) \\ + \chi + &= + \frac{r_0+y_0}{r_0-y_0}; \cdot\chi \\ + \eta + &= + \left(\frac{x}{x_0}\right)^2 + \:;\: + r_0 = - \frac{\dot{P}}{|\dot{P}|} -\end{equation} -benötigt. Durch die Subtraktion der Ortsvektoren $\overrightarrow{OP}$ und $\overrightarrow{OA}$ entsteht ein Vektor der vom Punkt $P$ auf $A$ zeigt. -Da die Länge dieses Vektors beliebig sein kann, wird durch Division mit dem Betrag, die Länge auf eins festgelegt. -Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $A$ und $P$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. -Wenn die Punkte $A$ und $P$ trotzdem am gleichen Ort starten, ist die Lösung trivial. + \sqrt{x_0^2+y_0^2} \\ +\end{align*} +Wir definieren einen Treffer wenn die Koordinaten des Verfolgers mit denen des Ziels übereinstimmen bei einem diskreten Zeitpunkt $t_1$. Aus dem vorangegangenem Beispiel, sind die Gleichungen zu den x- und y-Koordinaten des Verfolgers bekannt. Die Des Ziels sind -Nun wird die Gleichung mit deren rechten Seite skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. \begin{equation} - \label{pursuer:pursuerDGL} - \frac{A-P}{|A-P|}\cdot \frac{\dot{P}}{|\dot{P}|} + \overrightarrow{Z}(t) + = + \left( \begin{array}{c} 0 \\ v \cdot t \end{array} \right) = - 1 + \left( \begin{array}{c} 0 \\ t \end{array} \right) + ;\quad + \overrightarrow{V}(t) + = + \left( \begin{array}{c} x(t) \\ y(t) \end{array} \right) + \label{lambertw:Anfangspunkte} \end{equation} -Diese DGL ist der Kern des Verfolgungsproblems, insofern sich der Verfolger immer direkt auf sein Ziel zubewegt. +Somit gilt es -\subsection{Beispiel} -Das Verfolgungsproblem wird mithilfe eines konkreten Beispiels veranschaulicht. Dafür wird die einfachste Strategie verwendet, bei der sich der Verfolger direkt auf sein Ziel hinzu bewegt. Für dieses Problem wurde bereits die DGL \eqref{pursuer:pursuerDGL} hergeleitet. +\begin{equation*} + \overrightarrow{Z}(t_1)=\overrightarrow{V}(t_1) +\end{equation*} -Um dieses Beispiel einfach zu halten, wird für den Verfolger und das Ziel jeweils eine konstante Geschwindigkeit von eins gewählt. Das Ziel wiederum startet im Ursprung und bewegt sich linear auf der positiven Y-Achse. +zu lösen. Da die $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. -\begin{align} - v_P^2 +\begin{align*} + 0 &= - \dot{P}\cdot\dot{P} + x(t) = - 1 - \\[5pt] - v_A - &= - 1 - \\[5pt] - A + \sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} + \\ + v \cdot t &= - \begin{pmatrix} - 0 \\ - v_A\cdot t - \end{pmatrix} - = - \begin{pmatrix} - 0 \\ - t - \end{pmatrix} - \\[5pt] - P - &= - \begin{pmatrix} - x \\ - y - \end{pmatrix} -\end{align} - -Die Anfangsbedingungen dieses Problems sind. - -\begin{align} - y(t)\bigg|_{t=0} - &= - y_0 - \\[5pt] - x(t)\bigg|_{t=0} - &= - x_0 \\[5pt] - \frac{\,dy}{\,dx}(t)\bigg|_{t=0} - &= - \frac{y_A(t) -y_P(t)}{x_A(t)-x_P(t)}\bigg|_{t=0} -\end{align} - -Mit den vorangegangenen Definitionen kann nun die DGL \eqref{pursuer:pursuerDGL} gelöst werden. -Dafür wird als erstes das Skalarprodukt ausgerechnet. + y(t) + = + \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) + \\ +\end{align*} + +Zuerst wird die Bedingung der x-Koordinate betrachtet. Diese kann durch quadrieren und anschliessendes multiplizieren von $\chi$ vereinfacht werden. \begin{equation} - \dfrac{-x\cdot\dot{x}+(t-y)\cdot\dot{y}}{\sqrt{x^2+(t-y)^2}} = 1 + 0 + = + W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) \end{equation} +Dies entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei +\begin{equation*} + W(0)=0 +\end{equation*} +besitzt. Kann die Bedingung weiter vereinfacht werden zu - - - - - - -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt \begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{lambertw:equation1} + 0 + = + \chi\cdot e^{\chi-\frac{4t}{r_0-y_0}} \end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{lambertw:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{lambertw:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{lambertw:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. + +Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingung unmöglich zu erfüllen. +Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. +Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Treffer möglich wäre. +Somit kann nach den Gestellten Bedingungen das Ziel nie getroffen werden. +Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. +Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. -- cgit v1.2.1 From 429b93e4fff7d907b66ce65a1cf2d81b702df12f Mon Sep 17 00:00:00 2001 From: tim30b Date: Wed, 20 Jul 2022 17:52:10 +0200 Subject: Write citations --- buch/papers/kreismembran/references.bib | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/references.bib b/buch/papers/kreismembran/references.bib index 1aef90b..f642aa8 100644 --- a/buch/papers/kreismembran/references.bib +++ b/buch/papers/kreismembran/references.bib @@ -4,6 +4,25 @@ % (c) 2020 Autor, Hochschule Rapperswil % +@online{kreismembran:Duden:Membrane, + title = {Duden:Membrane}, + url = {https://www.duden.de/rechtschreibung/Membrane}, + date = {2022-07-20}, + year = {2022}, + month = {7}, + day = {20} +} + +@online{kreismembran:wellengleichung_herleitung, + title = {Derivation of the 2D Wave Equation}, + author = {Dr. Christopher Lum}, + url = {https://www.youtube.com/watch?v=KAS7JBztw8E&t=0s}, + date = {2022-07-20}, + year = {2022}, + month = {7}, + day = {20} +} + @online{kreismembran:bibtex, title = {BibTeX}, url = {https://de.wikipedia.org/wiki/BibTeX}, -- cgit v1.2.1 From 8e792d7a9df5de84e24147758a4875e280426d3c Mon Sep 17 00:00:00 2001 From: tim30b Date: Wed, 20 Jul 2022 18:23:51 +0200 Subject: Begin writing intro, Einleitung & Annahmen --- buch/papers/kreismembran/teil0.tex | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil0.tex b/buch/papers/kreismembran/teil0.tex index 1552259..804640e 100644 --- a/buch/papers/kreismembran/teil0.tex +++ b/buch/papers/kreismembran/teil0.tex @@ -5,6 +5,23 @@ % \section{Einleitung\label{kreismembran:section:teil0}} \rhead{Einleitung} +Eine naheliegende kreisförmige Membrane ist eine Runde Trommel. +Der Zusammenhang zwischen rund und kreisförmig wird hier nicht erläutert, was in diesem Kapitel als Membrane verstanden wird sollte jedoch erwähnt sein. +Eine Membrane, Membran oder selten ein Schwingblatt ist laut Duden \cite{kreismembran:Duden:Membrane} ein "dünnes Blättchen aus Metall, Papier o. Ä., das durch seine Schwingungsfähigkeit geeignet ist, Schallwellen zu übertragen". +Um zu verstehen wie sich eine Kreisförmige Membrane oder eben eine Trommel verhaltet, wird das Verhalten eines infinitesimal kleines Stück einer Membrane untersucht. - +\paragraph{Annahmen} Für die Herleitung einer Differentialgleichung mit überschaubarer Komplexität werden gebräuchliche Annahmen zur Modellierung einer Membrane \cite{kreismembran:wellengleichung_herleitung} getroffen: +\begin{enumerate}[i] + \item Die Membrane ist homogen. + Dies bedeutet, dass die Membrane über die ganze Fläche die selbe Dichte $ \rho $ und Elastizität hat. + Durch die konstante Elastizität ist die ganze Membrane unter gleichmässiger Spannung $ T $. + \item Die Membrane ist perfekt flexibel. + Daraus folgt, dass die Membrane ohne Kraftaufwand verbogen werden kann. + Die Membrane ist dadurch nicht alleine schwing-fähig, hierzu muss sie gespannt werden mit der Kraft $ T $. + \item Die Membrane kann sich nur in Richtung ihrer Normalen in kleinem Ausmass Auslenken. + Auslenkungen in der ebene der Membrane sind nicht möglich. + \item Die Membrane erfährt keine Art von Dämpfung. + Neben der perfekten Flexibilität wird die Membrane auch nicht durch ihr umliegendes Medium aus gebremst. + Dadurch entsteht kein dämpfender Term abhängig von der Geschwindigkeit der Membrane in der Differenzialgleichung. +\end{enumerate} -- cgit v1.2.1 From 741a16165ff886bd411445a23b5963750c636a30 Mon Sep 17 00:00:00 2001 From: tim30b Date: Wed, 20 Jul 2022 18:58:36 +0200 Subject: Einleitung verbesserungen schreiben --- buch/papers/kreismembran/teil0.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil0.tex b/buch/papers/kreismembran/teil0.tex index 804640e..6f5e907 100644 --- a/buch/papers/kreismembran/teil0.tex +++ b/buch/papers/kreismembran/teil0.tex @@ -4,11 +4,11 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Einleitung\label{kreismembran:section:teil0}} -\rhead{Einleitung} -Eine naheliegende kreisförmige Membrane ist eine Runde Trommel. +\rhead{Membrane} +Eine naheliegendes Beispiel einer kreisförmigen Membrane ist eine Runde Trommel. Der Zusammenhang zwischen rund und kreisförmig wird hier nicht erläutert, was in diesem Kapitel als Membrane verstanden wird sollte jedoch erwähnt sein. -Eine Membrane, Membran oder selten ein Schwingblatt ist laut Duden \cite{kreismembran:Duden:Membrane} ein "dünnes Blättchen aus Metall, Papier o. Ä., das durch seine Schwingungsfähigkeit geeignet ist, Schallwellen zu übertragen". -Um zu verstehen wie sich eine Kreisförmige Membrane oder eben eine Trommel verhaltet, wird das Verhalten eines infinitesimal kleines Stück einer Membrane untersucht. +Eine Membrane, Membran oder selten ein Schwingblatt ist laut Duden \cite{kreismembran:Duden:Membrane} ein "dünnes Blättchen aus Metall, Papier o. Ä., ...". +Um zu verstehen wie sich eine Kreisförmige Membrane oder eben eine Trommel verhaltet, wird vorerst das Verhalten eines infinitesimal kleines Stück einer Membrane untersucht. \paragraph{Annahmen} Für die Herleitung einer Differentialgleichung mit überschaubarer Komplexität werden gebräuchliche Annahmen zur Modellierung einer Membrane \cite{kreismembran:wellengleichung_herleitung} getroffen: \begin{enumerate}[i] -- cgit v1.2.1 From 6dd01e88ff8b1d93decb31fabef8edb95b361e87 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 20 Jul 2022 20:16:26 +0200 Subject: made some adjustments --- buch/papers/lambertw/Bilder/pursuerDGL2.ggb | Bin 17954 -> 21894 bytes buch/papers/lambertw/Bilder/pursuerDGL2.pdf | Bin 17941 -> 21894 bytes buch/papers/lambertw/main.tex | 38 ++++++++-------- buch/papers/lambertw/teil0.tex | 65 ++++++++++++++++------------ 4 files changed, 56 insertions(+), 47 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/Bilder/pursuerDGL2.ggb b/buch/papers/lambertw/Bilder/pursuerDGL2.ggb index 0bd39b2..3c4500b 100644 Binary files a/buch/papers/lambertw/Bilder/pursuerDGL2.ggb and b/buch/papers/lambertw/Bilder/pursuerDGL2.ggb differ diff --git a/buch/papers/lambertw/Bilder/pursuerDGL2.pdf b/buch/papers/lambertw/Bilder/pursuerDGL2.pdf index 284dd7d..932d9d9 100644 Binary files a/buch/papers/lambertw/Bilder/pursuerDGL2.pdf and b/buch/papers/lambertw/Bilder/pursuerDGL2.pdf differ diff --git a/buch/papers/lambertw/main.tex b/buch/papers/lambertw/main.tex index a347608..9e6d04f 100644 --- a/buch/papers/lambertw/main.tex +++ b/buch/papers/lambertw/main.tex @@ -4,28 +4,28 @@ % (c) 2020 Hochschule Rapperswil % \chapter{Verfolgungskurven\label{chapter:lambertw}} -\lhead{Thema} +\lhead{Verfolgungskurven} \begin{refsection} \chapterauthor{David Hugentobler und Yanik Kuster} -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +%Ein paar Hinweise für die korrekte Formatierung des Textes +%\begin{itemize} +%\item +%Absätze werden gebildet, indem man eine Leerzeile einfügt. +%Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. +%\item +%Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende +%Optionen werden gelöscht. +%Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. +%\item +%Beginnen Sie jeden Satz auf einer neuen Zeile. +%Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen +%in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt +%anzuwenden. +%\item +%Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren +%Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. +%\end{itemize} \input{papers/lambertw/teil0.tex} %\input{papers/lambertw/teil2.tex} diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 50d2255..2905605 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -5,14 +5,26 @@ % \section{Was sind Verfolgungskurven? \label{lambertw:section:Was_sind_Verfolgungskurven}} -\rhead{Teil 0} +\rhead{Was sind Verfolgungskurven?} -Verfolgungskurven tauchen oft auf bei fragen wie, welchen Pfad begeht ein Hund während er einer Katze nachrennt. Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. Der Verfolger versucht sein Ziel zu ergattern und das Ziel versucht zu entkommen. Der Pfad, der der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. Um diese Kurve zu bestimmen, kann das Verfolgungsproblem als DGL formuliert werden. Diese DGL entspringt der Verfolgungsstrategie des Verfolgers. +Verfolgungskurven tauchen oft auf bei Fragen wie welchen Pfad begeht ein Hund während er einer Katze nachrennt. +Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. +Der Verfolger verfolgt sein Ziel, das versucht zu entkommen. +Der Pfad, der der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. +Um diese Kurve zu bestimmen, kann das Verfolgungsproblem als Differentialgleichung formuliert werden. +Diese Differentialgleichung entspringt der Verfolgungsstrategie des Verfolgers. \subsection{Verfolger und Verfolgungsstrategie \label{lambertw:subsection:Verfolger}} -Wie bereits erwähnt, wird der Verfolger durch seine Verfolgungsstrategie definiert. Wir nehmen an, dass sich der Verfolger stur an eine Verfolgungsstrategie hält. Dabei gibt es viele mögliche Strategien, die der Verfolger wählen könnte. Die möglichen Strategien entstehen durch Festlegung einzelner Parameter, die der Verfolger kontrollieren kann. Der Verfolger hat nur einen direkten Einfluss auf seinen Geschwindigkeitsvektor. Mit diesem kann er neben Richtung und Betrag auch den Abstand zwischen Verfolger und Ziel kontrollieren. Wenn zwei dieser drei Parameter durch die Strategie definiert werden, ist der dritte nicht mehr frei. Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um den Verfolger komplett zu beschreiben. +Wie bereits erwähnt, wird der Verfolger durch seine Verfolgungsstrategie definiert. +Wir nehmen an, dass sich der Verfolger stur an eine Verfolgungsstrategie hält. +Dabei gibt es viele mögliche Strategien, die der Verfolger wählen könnte. +Die möglichen Strategien entstehen durch Festlegung einzelner Parameter, die der Verfolger kontrollieren kann. +Der Verfolger hat nur einen direkten Einfluss auf seinen Geschwindigkeitsvektor. +Mit diesem kann er neben Richtung und Betrag auch den Abstand zwischen Verfolger und Ziel kontrollieren. +Wenn zwei dieser drei Parameter durch die Strategie definiert werden, ist der dritte nicht mehr frei. +Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um den Verfolger komplett zu beschreiben. \begin{table} \centering @@ -39,46 +51,46 @@ Wie bereits erwähnt, wird der Verfolger durch seine Verfolgungsstrategie defini \begin{figure} \centering - \includegraphics[scale=0.2]{./papers/lambertw/Bilder/pursuerDGL2.pdf} + \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.pdf} + \caption{Vektordarstellung Strategie 1} \label{lambertw:grafic:pursuerDGL2} \end{figure} -In der Tabelle \eqref{lambertw:Strategien} sind drei mögliche Strategien aufgezählt. -Folgend wird nur noch auf die Strategie 1 eingegangen. -Bei dieser Strategie ist die Geschwindigkeit konstant und der Verfolger bewegt sich immer direkt auf sein Ziel hinzu. -In der Grafik \eqref{lambertw:pursuerDGL2} ist das Problem dargestellt. -Wobei $\overrightarrow{V}$ der Ortsvektor des Verfolgers, $\overrightarrow{Z}$ der Ortsvektor des Ziels und $\overrightarrow{\dot{V}}$ der Geschwindigkeitsvektor des Verfolgers ist. +In der Tabelle \eqref{lambertw:table:Strategien} sind drei mögliche Strategien aufgezählt. +Im Folgend wird nur noch auf die Strategie 1 eingegangen. +Bei dieser Strategie ist die Geschwindigkeit konstant und der Verfolger bewegt sich immer direkt auf sein Ziel zu. +In der Abbildung \eqref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, +wobei $\vec{V}$ der Ortsvektor des Verfolgers, $\vec{Z}$ der Ortsvektor des Ziels und $\dot{\vec{V}}$ der Geschwindigkeitsvektor des Verfolgers ist. Die konstante Geschwindigkeit kann man mit der Gleichung \begin{equation} - |\overrightarrow{\dot{V}}| - = konst = A - \quad|A\in\mathbb{R}>0 + |\dot{\vec{V}}| + = const = A + \quad A\in\mathbb{R}>0 \end{equation} darstellen. Der Geschwindigkeitsvektor wiederum kann mit der Gleichung \begin{equation} - \frac{\overrightarrow{Z}-\overrightarrow{V}}{|\overrightarrow{Z}-\overrightarrow{V}|}\cdot|\overrightarrow{\dot{V}}| + \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot|\dot{\vec{V}}| = - \overrightarrow{\dot{V}} + \dot{\vec{V}} \end{equation} beschrieben werden. -Durch die Subtraktion der Ortsvektoren $\overrightarrow{V}$ und $\overrightarrow{Z}$ entsteht ein Vektor der vom Punkt $V$ auf $Z$ zeigt. -Da die Länge dieses Vektors beliebig sein kann, wird durch Division mit dem Betrag, die Länge auf eins festgelegt. +Die Differenz der Ortsvektoren $\vec{V}$ und $\vec{Z}$ ist ein Vektor der vom Punkt $V$ auf $Z$ zeigt. +Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, die Länge auf eins festgelegt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. -Nun wird die Gleichung mit deren rechten Seite skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. +Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. \begin{align} \label{lambertw:pursuerDGL} - \frac{\overrightarrow{Z}-\overrightarrow{V}}{|\overrightarrow{Z}-\overrightarrow{V}|}\cdot - \overrightarrow{\dot{V}} + \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot + \dot{\vec{V}} &= - |\overrightarrow{\dot{V}}|^2 + |\dot{\vec{V}}|^2 \\ - \frac{\overrightarrow{Z}-\overrightarrow{V}}{|\overrightarrow{Z}-\overrightarrow{V}|}\cdot \frac{\overrightarrow{\dot{V}}}{|\overrightarrow{\dot{V}}|} + \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot \frac{\dot{\vec{V}}}{|\dot{\vec{V}}|} &= 1 \end{align} -Diese DGL ist der Kern des Verfolgungsproblems, insofern der Verfolger die Strategie 1 verwendet. - +Die Lösungen dieser Differentialgleichung sind die gesuchten Verfolgungskurven, insofern der Verfolger die Strategie 1 verwendet. \subsection{Ziel \label{lambertw:subsection:Ziel}} @@ -89,14 +101,11 @@ Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebe \begin{equation} \vec{Z}(t) = - \begin{Bmatrix} - 0\\ - t - \end{Bmatrix} + \left( \begin{array}{c} 0 \\ t \end{array} \right) \end{equation} beschrieben werden könnte. Mit dieser Gleichung ist das Ziel auch schon vollumfänglich definiert. -Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende DGL immer komplexer. +Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende Differentialgleichung immer komplexer. -- cgit v1.2.1 From 8d63b7cdea0c9bed2fed397a7dd35cf9c53aae8b Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 20 Jul 2022 22:04:39 +0200 Subject: adjusted chapter --- buch/papers/lambertw/main.log | 692 +++-------------------------------------- buch/papers/lambertw/teil1.tex | 21 +- 2 files changed, 56 insertions(+), 657 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/main.log b/buch/papers/lambertw/main.log index 4b0af4d..754563d 100644 --- a/buch/papers/lambertw/main.log +++ b/buch/papers/lambertw/main.log @@ -1,14 +1,12 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/W32TeX) (preloaded format=pdflatex 2021.11.16) 15 MAR 2022 13:23 +This is pdfTeX, Version 3.141592653-2.6-1.40.23 (MiKTeX 21.8) (preloaded format=pdflatex 2021.9.21) 20 JUL 2022 18:38 entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**main.tex -(./main.tex -LaTeX2e <2021-11-15> -L3 programming layer <2021-11-12> +**./main.tex +(main.tex +LaTeX2e <2021-06-01> patch level 1 +L3 programming layer <2021-08-27> ! Undefined control sequence. l.6 \chapter - {Thema\label{chapter:lambertw}} + {Verfolgungskurven\label{chapter:lambertw}} The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct @@ -22,16 +20,28 @@ See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... -l.6 \chapter{T - hema\label{chapter:lambertw}} +l.6 \chapter{V + erfolgungskurven\label{chapter:lambertw}} You're in trouble here. Try typing to proceed. If that doesn't work, type X to quit. -Missing character: There is no T in font nullfont! -Missing character: There is no h in font nullfont! +Missing character: There is no V in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! ! Undefined control sequence. l.7 \lhead {Thema} @@ -61,666 +71,46 @@ or to continue without it. ! Undefined control sequence. l.9 \chapterauthor - {Hans Muster} + {David Hugentobler und Yanik Kuster} The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined. -Missing character: There is no H in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no M in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! - -Overfull \hbox (20.0pt too wide) in paragraph at lines 6--10 -[][] - [] - - -! LaTeX Error: Missing \begin{document}. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.11 E - in paar Hinweise für die korrekte Formatierung des Textes -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -Missing character: There is no E in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no a in font nullfont! +Missing character: There is no D in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no H in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no f in font nullfont! -LaTeX Font Info: Trying to load font information for +cmr on input line 11. -LaTeX Font Info: No file cmr.fd. on input line 11. - -LaTeX Font Warning: Font shape `/cmr/m/n' undefined -(Font) using `/cmr/m/n' instead on input line 11. - -! Corrupted NFSS tables. -wrong@fontshape ...message {Corrupted NFSS tables} - error@fontshape else let f... -l.11 Ein paar Hinweise fü - r die korrekte Formatierung des Textes -This error message was generated by an \errmessage -command, so I can't give any explicit help. -Pretend that you're Hercule Poirot: Examine all clues, -and deduce the truth by order and method. - - -LaTeX Font Warning: Font shape `/cmr/m/n' undefined -(Font) using `OT1/cmr/m/n' instead on input line 11. - -Missing character: There is no r in font nullfont! Missing character: There is no d in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no F in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! +Missing character: There is no H in font nullfont! Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no T in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no x in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! - -Overfull \hbox (20.0pt too wide) in paragraph at lines 11--12 -[] - [] - - -Overfull \hbox (10.55559pt too wide) in paragraph at lines 11--12 -\/cmr/m/n/10 ^^?u - [] - -Missing character: There is no A in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! Missing character: There is no g in font nullfont! Missing character: There is no e in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no L in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no g in font nullfont! Missing character: There is no t in font nullfont! -Missing character: There is no . in font nullfont! -Missing character: There is no D in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no V in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no v in font nullfont! Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no T in font nullfont! -Missing character: There is no a in font nullfont! Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no . in font nullfont! - -Overfull \hbox (5.00002pt too wide) in paragraph at lines 14--17 -\/cmr/m/n/10 ^^?a - [] - - -Overfull \hbox (5.55557pt too wide) in paragraph at lines 14--17 -\/cmr/m/n/10 ^^?u - [] - - -Overfull \hbox (10.49991pt too wide) in paragraph at lines 14--17 -[][]\OT1/cmtt/m/n/10 \\ - [] - -Missing character: There is no D in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no x in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no P in font nullfont! Missing character: There is no l in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no i in font nullfont! Missing character: There is no e in font nullfont! Missing character: There is no r in font nullfont! Missing character: There is no u in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no B in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no l in font nullfont! +Missing character: There is no Y in font nullfont! Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no e in font nullfont! Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no O in font nullfont! -Missing character: There is no p in font nullfont! -Missing character: There is no t in font nullfont! Missing character: There is no i in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no l in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no K in font nullfont! +Missing character: There is no u in font nullfont! Missing character: There is no s in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! Missing character: There is no t in font nullfont! -Missing character: There is no . in font nullfont! -Missing character: There is no V in font nullfont! Missing character: There is no e in font nullfont! Missing character: There is no r in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no L in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no V in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no B in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no . in font nullfont! - -Overfull \hbox (5.00002pt too wide) in paragraph at lines 17--21 -\/cmr/m/n/10 ^^?o - [] - -Missing character: There is no B in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no j in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no Z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no . in font nullfont! -Missing character: There is no D in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no V in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no y in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no v in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no K in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no . in font nullfont! - -Overfull \hbox (5.00002pt too wide) in paragraph at lines 21--26 -\/cmr/m/n/10 ^^?o - [] - - -Overfull \hbox (7.50002pt too wide) in paragraph at lines 21--26 -[]\/cmr/m/n/10 A - [] - - -Overfull \hbox (5.00002pt too wide) in paragraph at lines 21--26 -\/cmr/m/n/10 ^^?a - [] - -Missing character: There is no B in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no S in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no f in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no F in font nullfont! -Missing character: There is no o in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no k in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no Z in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no s in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no w in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no g in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no , in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no a in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no m in font nullfont! -Missing character: There is no G in font nullfont! -Missing character: There is no I in font nullfont! -Missing character: There is no T in font nullfont! -Missing character: There is no d in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no A in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no b in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no z in font nullfont! -Missing character: There is no u in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no l in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no i in font nullfont! -Missing character: There is no c in font nullfont! -Missing character: There is no h in font nullfont! -Missing character: There is no t in font nullfont! -Missing character: There is no e in font nullfont! -Missing character: There is no r in font nullfont! -Missing character: There is no n in font nullfont! -Missing character: There is no . in font nullfont! - -Overfull \hbox (5.55557pt too wide) in paragraph at lines 26--28 -\/cmr/m/n/10 ^^?u - [] - -Overfull \hbox (7.50002pt too wide) in paragraph at lines 26--28 -[]\/cmr/m/n/10 U +Overfull \hbox (20.0pt too wide) in paragraph at lines 6--10 +[][] [] @@ -734,16 +124,16 @@ Enter file name: l.30 \input{papers/lambertw/teil0.tex} - ^^M + *** (cannot \read from terminal in nonstop modes) Here is how much of TeX's memory you used: - 36 strings out of 478371 - 593 string characters out of 5852527 - 296836 words of memory out of 5000000 - 18242 multiletter control sequences out of 15000+600000 - 403598 words of font info for 28 fonts, out of 8000000 for 9000 + 22 strings out of 478927 + 609 string characters out of 2852535 + 290175 words of memory out of 3000000 + 17980 multiletter control sequences out of 15000+600000 + 403430 words of font info for 27 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 - 23i,1n,32p,120b,183s stack positions out of 5000i,500n,10000p,200000b,80000s + 16i,0n,26p,94b,28s stack positions out of 5000i,500n,10000p,200000b,80000s ! ==> Fatal error occurred, no output PDF file produced! diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index 3415c45..2f71f43 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -25,7 +25,7 @@ Wir verwenden die Hergeleiteten Gleichungen \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) \\ \chi &= - \frac{r_0+y_0}{r_0-y_0}; \cdot\chi \\ + \frac{r_0+y_0}{r_0-y_0}\\ \eta &= \left(\frac{x}{x_0}\right)^2 @@ -37,13 +37,13 @@ Wir verwenden die Hergeleiteten Gleichungen Wir definieren einen Treffer wenn die Koordinaten des Verfolgers mit denen des Ziels übereinstimmen bei einem diskreten Zeitpunkt $t_1$. Aus dem vorangegangenem Beispiel, sind die Gleichungen zu den x- und y-Koordinaten des Verfolgers bekannt. Die Des Ziels sind \begin{equation} - \overrightarrow{Z}(t) + \vec{Z}(t) = \left( \begin{array}{c} 0 \\ v \cdot t \end{array} \right) = \left( \begin{array}{c} 0 \\ t \end{array} \right) ;\quad - \overrightarrow{V}(t) + \vec{V}(t) = \left( \begin{array}{c} x(t) \\ y(t) \end{array} \right) \label{lambertw:Anfangspunkte} @@ -52,7 +52,7 @@ Wir definieren einen Treffer wenn die Koordinaten des Verfolgers mit denen des Z Somit gilt es \begin{equation*} - \overrightarrow{Z}(t_1)=\overrightarrow{V}(t_1) + \vec{Z}(t_1)=\vec{V}(t_1) \end{equation*} zu lösen. Da die $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. @@ -72,7 +72,10 @@ zu lösen. Da die $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei \\ \end{align*} -Zuerst wird die Bedingung der x-Koordinate betrachtet. Diese kann durch quadrieren und anschliessendes multiplizieren von $\chi$ vereinfacht werden. +Zuerst wird die Bedingung der x-Koordinate betrachtet. +Diese kann durch quadrieren und anschliessendes multiplizieren von $\chi$ vereinfacht werden. +Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. +Die Gleichung \begin{equation} 0 @@ -80,7 +83,8 @@ Zuerst wird die Bedingung der x-Koordinate betrachtet. Diese kann durch quadrier W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) \end{equation} -Dies entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei + +entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei \begin{equation*} W(0)=0 @@ -100,5 +104,10 @@ Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Treffe Somit kann nach den Gestellten Bedingungen das Ziel nie getroffen werden. Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. +Dies kann mathematisch mit + +\begin{equation} + |\vec{V}-\vec{Z]|0 +\end{equation} -- cgit v1.2.1 From a7da84afe5d97069c243f103bb1438a459764cd3 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 20 Jul 2022 22:07:21 +0200 Subject: further adjustment --- buch/papers/lambertw/teil1.tex | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index 2f71f43..eb43b3e 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -104,10 +104,20 @@ Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Treffe Somit kann nach den Gestellten Bedingungen das Ziel nie getroffen werden. Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. -Dies kann mathematisch mit +Somit wird in einer nächsten Betrachtung untersucht, ob der Verfolger dem Ziel näher kommt als ein definierter Trefferradius. +Falls dies stattfinden sollte, wird dies als Treffer interpretiert. +Mathematisch kann dies mit \begin{equation} |\vec{V}-\vec{Z]|0 \end{equation} +beschrieben werden, wobei $a_min$ dem Trefferradius entspricht. +Diese Gleichung wird noch quadriert, um die Wurzeln des Betrages loszuwerden. +Da sowohl der Betrag als auch $a_min$ grösser null sind, bleibt die Aussage unverändert. + +\begin{equation} + |\vec{V}-\vec{Z]|^20 +\end{equation} + -- cgit v1.2.1 From 1504ba1daa40a4ea1057a767dab89a210a9f4ae4 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Thu, 21 Jul 2022 12:07:31 +0200 Subject: Corrected writing Error --- buch/papers/lambertw/teil1.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index eb43b3e..aa7f226 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -29,9 +29,9 @@ Wir verwenden die Hergeleiteten Gleichungen \eta &= \left(\frac{x}{x_0}\right)^2 - \:;\: + \\ r_0 - = + &= \sqrt{x_0^2+y_0^2} \\ \end{align*} Wir definieren einen Treffer wenn die Koordinaten des Verfolgers mit denen des Ziels übereinstimmen bei einem diskreten Zeitpunkt $t_1$. Aus dem vorangegangenem Beispiel, sind die Gleichungen zu den x- und y-Koordinaten des Verfolgers bekannt. Die Des Ziels sind @@ -55,7 +55,7 @@ Somit gilt es \vec{Z}(t_1)=\vec{V}(t_1) \end{equation*} -zu lösen. Da die $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. +zu lösen. Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. \begin{align*} 0 -- cgit v1.2.1 From 0a60dc01038a4c9444043f6675877e1d52cd12d6 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Thu, 21 Jul 2022 12:29:12 +0200 Subject: corrected a typo --- buch/papers/lambertw/teil1.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index aa7f226..e8171fd 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -109,7 +109,7 @@ Falls dies stattfinden sollte, wird dies als Treffer interpretiert. Mathematisch kann dies mit \begin{equation} - |\vec{V}-\vec{Z]|0 + |\vec{V}-\vec{Z}|0 \end{equation} beschrieben werden, wobei $a_min$ dem Trefferradius entspricht. @@ -117,7 +117,7 @@ Diese Gleichung wird noch quadriert, um die Wurzeln des Betrages loszuwerden. Da sowohl der Betrag als auch $a_min$ grösser null sind, bleibt die Aussage unverändert. \begin{equation} - |\vec{V}-\vec{Z]|^20 + |\vec{V}-\vec{Z}|^2 0 \end{equation} -- cgit v1.2.1 From b5e57cde49a8cf16d39ad198b2c3e41136c74d4a Mon Sep 17 00:00:00 2001 From: daHugen Date: Thu, 21 Jul 2022 23:45:02 +0200 Subject: made some changes and added some things --- .../papers/lambertw/Bilder/VerfolgungskurveBsp.png | Bin 124329 -> 297455 bytes buch/papers/lambertw/teil4.tex | 70 +++++++++++++++------ 2 files changed, 51 insertions(+), 19 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png b/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png index 53eb2f9..90758cd 100644 Binary files a/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png and b/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png differ diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index 6184369..bc1bf4d 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -3,45 +3,60 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Beispiel Verfolgungskurve +\section{Beispiel einer Verfolgungskurve \label{lambertw:section:teil4}} -\rhead{Beispiel Verfolgungskurve} -In diesem Abschnitt wird rechnerisch das Beispiel einer Verfolgungskurve mit der Verfolgungsstrategie 1 beschreiben. +\rhead{Beispiel einer Verfolgungskurve} +In diesem Abschnitt wird rechnerisch das Beispiel einer Verfolgungskurve mit der Verfolgungsstrategie 1 beschreiben. Dafür werden zuerst Bewegungsraum, Anfangspositionen und Bewegungsverhalten definiert, in einem nächsten Schritt soll eine Differentialgleichung dafür aufgestellt werden und anschliessend gelöst werden. -Das zu verfolgende Ziel \(\overrightarrow{Z}\) wandert auf einer Gerade mit konstanter Geschwindigkeit \(v = 1\), wobei diese Gerade der \(y\)-Achse entspricht. Der Verfolger \(\overrightarrow{V}\) startet auf einem beliebigen Punkt im ersten Quadrant und bewegt sich auch mit konstanter Geschwindigkeit. Diese Anfangspunkte oder Anfangsbedingungen können wie folgt formuliert werden: +\subsection{Anfangsbedingungen definieren und einsetzen + \label{lambertw:subsection:Anfangsbedingungen}} +Das zu verfolgende Ziel \(\vec{Z}\) bewegt sich entlang der \(y\)-Achse mit konstanter Geschwindigkeit \(v = 1\), beginnend beim Ursprung des Kartesischen Koordinatensystems. Der Verfolger \(\vec{V}\) startet auf einem beliebigen Punkt im ersten Quadranten und bewegt sich auch mit konstanter Geschwindigkeit \(|\dot{V}| = 1\) in Richtung Ziel. Diese Anfangspunkte oder Anfangsbedingungen können wie folgt formuliert werden: \begin{equation} - \overrightarrow{Z} + \vec{Z} = \left( \begin{array}{c} 0 \\ v \cdot t \end{array} \right) = \left( \begin{array}{c} 0 \\ t \end{array} \right) - ; - \overrightarrow{V} + ,\: + \vec{V} = \left( \begin{array}{c} x \\ y \end{array} \right) - \label{lambertw:Anfangspunkte} + \:\text{und}\:\: + \bigl| \dot{V} \bigl| + = + 1. + \label{lambertw:Anfangsbed} \end{equation} -Wenn man diese Startpunkte in die Gleichung der Verfolgungskurve \eqref{lambertw:pursuerDGL} einfügt ergibt sich folgender Ausdruck: +Wir haben nun die Anfangsbedingungen definiert, jetzt fehlt nur noch eine DGL, welche die fortlaufende Änderung der Position und Bewegungsrichtung des Verfolgers beschreibt. +Diese DGL haben wir bereits in Kapitel \ref{lambertw:subsection:Verfolger} definiert, und zwar Gleichung \eqref{lambertw:pursuerDGL}. Wenn man die Startpunkte einfügt ergibt sich folgender Ausdruck: \begin{equation} \frac{\left( \begin{array}{c} 0-x \\ t-y \end{array} \right)}{\sqrt{x^2 + (t-y)^2}} - \circ + \cdot \left(\begin{array}{c} \dot{x} \\ \dot{y} \end{array}\right) = - 1 - \label{lambertw:eqMitAnfangspunkte} + 1. + \label{lambertw:eqMitAnfangsbed} \end{equation} -Macht man den linken Term Bruchfrei und löst das Skalarprodukt auf, dann ergibt sich folgende DGL: + +\subsection{DGL vereinfachen + \label{lambertw:subsection:DGLvereinfach}} +Nun haben wir eine Gleichung, es stellt sich aber die Frage ob es überhaupt eine geschlossene Lösung dafür gibt. Eine Funktion welche die Beziehung \(y(x)\) beschreibt oder sogar \(x(t)\) und \(y(t)\) liefert. Zum jetzigen Zeitpunkt mag es nicht trivial scheinen, aber mit den gewählten Anfangsbedingungen \eqref{lambertw:Anfangsbed} ist es möglich eine geschlossene Lösung für die Gleichung \eqref{lambertw:eqMitAnfangsbed} zu finden. +Auf dem Weg dahin muss die definierte DGL zuerst wesentlich vereinfacht werden, sei es mittels algebraische Umformungen oder mit den Tools aus der Analysis. Also legen wir los! + +Zuerst müssen wir den Bruch in \eqref{lambertw:eqMitAnfangsbed} los werden, der sieht so nicht handlich aus. Dafür multiplizieren wir beidseitig mit dem Nenner: \[ \left( \begin{array}{c} 0-x \\ t-y \end{array} \right) - \circ + \cdot \left(\begin{array}{c} \dot{x} \\ \dot{y} \end{array}\right) - = \sqrt{x^2 + (t-y)^2}\\ + = \sqrt{x^2 + (t-y)^2},\\ \] +In einem weiteren Schritt, lösen wir das Skalarprodukt auf und erhalten folgende Gleichung \eqref{lambertw:eqOhneSkalarprod} ohne vektorielle Grössen: \begin{equation} -x \cdot \dot{x} + (t-y) \cdot \dot{y} = \sqrt{x^2 + (t-y)^2} - \label{lambertw:eq1BspVerfolgKurve} + \label{lambertw:eqOhneSkalarprod} \end{equation} +Ist es nicht schön? Wir sind die Im nächsten Schritt quadriert man beide Seiten, erweitert den neu entstandenen quadratischen Term, bringt alles auf die linke Seite und klammert gemeinsames aus. \begin{align*} ((t-y) \dot{y} - x \dot{x})^2 @@ -71,7 +86,10 @@ Im letzten Ausdruck erkennt man das Muster einer binomischen Formel, was den Aus (x \dot{y} + (t-y) \dot{x})^2 &= 0 \end{align*} -Wenn man nun beidseitig die Quadratwurzel zieht, dann ergibt sich im Vergleich zu \eqref{lambertw:eq1BspVerfolgKurve} eine wesentlich einfachere DGL: + +\subsection{Zeitabhängigkeit loswerden + \label{lambertw:subsection:ZeitabhLoswerden}} +Wenn man nun beidseitig die Quadratwurzel zieht, dann ergibt sich im Vergleich zu \eqref{lambertw:eqOhneSkalarprod} eine wesentlich einfachere DGL: \begin{equation} x \dot{y} + (t-y) \dot{x} = 0 @@ -112,6 +130,9 @@ Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambert xy^{\prime\prime} - \sqrt{1+y^{\prime\, 2}} &= 0 \end{align*} + +\subsection{DGL lösen + \label{lambertw:subsection:DGLloes}} Mittels der Substitution \(y^{\prime} = u\) kann vorherige DGL in eine erster Ordnung umgewandelt werden: \begin{equation*} xu^{\prime} - \sqrt{1+u^2} @@ -149,6 +170,8 @@ Diese kann mit den selben Methoden gelöst werden, diesmal in Kombination mit de C_1 + C_2 x^2 - \frac{ln(x)}{8 \cdot C_2} \end{align*} +\subsection{Lösung analysieren + \label{lambertw:subsection:LoesAnalys}} \begin{figure} \centering \includegraphics{papers/lambertw/Bilder/VerfolgungskurveBsp.png} @@ -173,7 +196,11 @@ Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, w \item Aufgrund des Monotoniewechsels in der Kurve muss es auch ein Minimum aufweisen. Es stellt sich nun die Frage: Wo befindet sich dieser Punkt? Durch eine logische Überlegung kann eine Abschätzung darüber getroffen werden und zwar, dass dieser dann entsteht, wenn \(A\) und \(P\) die gleiche \(y\)-Koordinaten besitzen. In diesem Moment ändert die Richtung der \(y\)-Komponente der Geschwindigkeit und somit auch sein Vorzeichen. \end{itemize} -Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, siehe \ref{lambertw:BildFunkLoes}. Nun stellt sich die Frage wie die Kurve wirklich aussieht, dies wird durch das Einsetzen folgender Anfangsbedingungen erreicht: +Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, siehe \ref{lambertw:BildFunkLoes}. Nun stellt sich die Frage wie die Kurve wirklich aussieht. + +\subsection{Allgemeine Lösung + \label{lambertw:subsection:AllgLoes}} +Dies wird durch das Einsetzen folgender Anfangsbedingungen erreicht: \begin{equation} y(x)\big \vert_{t=0} = @@ -215,7 +242,12 @@ Leitet man die Funktion \eqref{lambertw:funkLoes} nach x ab und setzt die Anfang \frac{1}{2}\left(\left(y_0+r_0\right)\frac{x}{x_0^2}+\left(r_0-y_0\right)\frac{1}{x}\right) \\ -4t &= - \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)ln\left(\eta\right) \\ + \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)ln\left(\eta\right) +\end{align*} + +\subsection{Funktion nach der Zeit + \label{lambertw:subsection:FunkNachT}} +\begin{align*} -4t+\left(y_0+r_0\right) &= \left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right) \\ -- cgit v1.2.1 From 137e7755104042841230d40f0e6f1132d9d430db Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Fri, 22 Jul 2022 15:26:31 +0200 Subject: Polished some sentences. Corrected missing amount in formula. Added new information in chapter Wird das Ziel erreicht? --- buch/papers/lambertw/teil0.tex | 14 ++--- buch/papers/lambertw/teil1.tex | 116 ++++++++++++++++++++++++++++------------- 2 files changed, 86 insertions(+), 44 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 2905605..30c4b60 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -46,9 +46,6 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um \label{lambertw:table:Strategien} \end{table} - - - \begin{figure} \centering \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.pdf} @@ -57,14 +54,14 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um \end{figure} In der Tabelle \eqref{lambertw:table:Strategien} sind drei mögliche Strategien aufgezählt. -Im Folgend wird nur noch auf die Strategie 1 eingegangen. +Im Folgenden wird nur noch auf die Strategie 1 eingegangen. Bei dieser Strategie ist die Geschwindigkeit konstant und der Verfolger bewegt sich immer direkt auf sein Ziel zu. In der Abbildung \eqref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, wobei $\vec{V}$ der Ortsvektor des Verfolgers, $\vec{Z}$ der Ortsvektor des Ziels und $\dot{\vec{V}}$ der Geschwindigkeitsvektor des Verfolgers ist. Die konstante Geschwindigkeit kann man mit der Gleichung \begin{equation} |\dot{\vec{V}}| - = const = A + = \operatorname{const} = A \quad A\in\mathbb{R}>0 \end{equation} darstellen. Der Geschwindigkeitsvektor wiederum kann mit der Gleichung @@ -80,12 +77,11 @@ Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nic Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. \begin{align} - \label{lambertw:pursuerDGL} - \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot - \dot{\vec{V}} + \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot|\dot{\vec{V}}|\cdot\dot{\vec{V}} &= |\dot{\vec{V}}|^2 \\ + \label{lambertw:pursuerDGL} \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot \frac{\dot{\vec{V}}}{|\dot{\vec{V}}|} &= 1 @@ -105,7 +101,7 @@ Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebe \end{equation} beschrieben werden könnte. Mit dieser Gleichung ist das Ziel auch schon vollumfänglich definiert. -Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende Differentialgleichung immer komplexer. +Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende Differentialgleichung für die Verfolgungskurve immer komplexer. diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index e8171fd..819658a 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -4,18 +4,18 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Wird das Ziel erreicht? -\label{lambertw:section:teil1}} -\rhead{Problemstellung} +\label{lambertw:section:Wird_das_Ziel_erreicht}} +\rhead{Wird das Ziel erreicht?} Sehr oft kommt es vor, dass bei Verfolgungsproblemen die Frage auftaucht, ob das Ziel überhaupt erreicht wird. Wenn zum Beispiel die Geschwindigkeit des Verfolgers kleiner ist als diejenige des Ziels, gibt es Anfangsbedingungen bei denen das Ziel nie erreicht wird. -Sobald diese Frage beantwortet wurde stellt sich meist die Frage, wie lange es dauert bis das Ziel erreicht wird. +Im Anschluss dieser Frage stellt sich meist die nächste Frage, wie lange es dauert bis das Ziel erreicht wird. Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel betrachtet. - -\subsection{Ziel erreichen (überarbeiten) -\label{lambertw:subsection:ZielErreichen}} +% +%\subsection{Ziel erreichen (überarbeiten) +%\label{lambertw:subsection:ZielErreichen}} Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. -Wir verwenden die Hergeleiteten Gleichungen +Wir verwenden die Hergeleiteten Gleichungen für Startbedingung im ersten Quadranten \begin{align*} x\left(t\right) &= @@ -32,30 +32,36 @@ Wir verwenden die Hergeleiteten Gleichungen \\ r_0 &= - \sqrt{x_0^2+y_0^2} \\ + \sqrt{x_0^2+y_0^2} \text{.}\\ \end{align*} -Wir definieren einen Treffer wenn die Koordinaten des Verfolgers mit denen des Ziels übereinstimmen bei einem diskreten Zeitpunkt $t_1$. Aus dem vorangegangenem Beispiel, sind die Gleichungen zu den x- und y-Koordinaten des Verfolgers bekannt. Die Des Ziels sind +% +Das Ziel wird erreicht, wenn die Koordinaten des Verfolgers mit denen des Ziels bei einem diskreten Zeitpunkt $t_1$ übereinstimmen. +Somit gilt es + +\begin{equation*} + \vec{Z}(t_1)=\vec{V}(t_1) +\end{equation*} +% +zu lösen. +Aus dem vorangegangenem Beispiel, ist die Parametrisierung des Verfolgers und des Ziels bekannt. +Das Ziel wird parametrisiert durch \begin{equation} \vec{Z}(t) = - \left( \begin{array}{c} 0 \\ v \cdot t \end{array} \right) - = \left( \begin{array}{c} 0 \\ t \end{array} \right) - ;\quad +\end{equation} +% +und der Verfolger durch + +\begin{equation} \vec{V}(t) = \left( \begin{array}{c} x(t) \\ y(t) \end{array} \right) - \label{lambertw:Anfangspunkte} + \text{.} \end{equation} - -Somit gilt es - -\begin{equation*} - \vec{Z}(t_1)=\vec{V}(t_1) -\end{equation*} - -zu lösen. Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. +% + Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. Es entstehen daher folgende Bedingungen \begin{align*} 0 @@ -71,7 +77,8 @@ zu lösen. Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einz \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) \\ \end{align*} - +% +, welche Beide gleichzeitig erfüllt sein müssen, damit das Ziel erreicht wurde. Zuerst wird die Bedingung der x-Koordinate betrachtet. Diese kann durch quadrieren und anschliessendes multiplizieren von $\chi$ vereinfacht werden. Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. @@ -82,26 +89,62 @@ Die Gleichung = W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) \end{equation} - - +% entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei \begin{equation*} W(0)=0 \end{equation*} - -besitzt. Kann die Bedingung weiter vereinfacht werden zu +% +besitzt, kann die Bedingung weiter vereinfacht werden zu \begin{equation} 0 = \chi\cdot e^{\chi-\frac{4t}{r_0-y_0}} + \text{.} \end{equation} - +% Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingung unmöglich zu erfüllen. Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. -Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Treffer möglich wäre. -Somit kann nach den Gestellten Bedingungen das Ziel nie getroffen werden. +Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Einholen möglich wäre. +Somit kann nach den Gestellten Bedingungen das Ziel nie erreicht werden. +Aus der Symmetrie des Problems an der y-Achse können auch alle Anfangspunkte im zweiten Quadranten die Bedingungen nicht erfüllen. +Bei allen Anfangspunkten mit $y_0<0$ ist ein Einholen unmöglich, da die Geschwindigkeit des Verfolgers und Ziels übereinstimmen und der Verfolger dem Ziel bereits am Anfang nachgeht. +Wenn die Wertemenge der Anfangsbedingung um die positive y-Achse erweitert wird, kann das Ziel wiederum erreicht werden. +Sobald der Verfolger auf der positiven y-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel Zeigt und der Verfolger sich auf der Fluchtgeraden befindet. +Dies führt zwingend dazu, dass der Verfolger das Ziel erreichen wird. +Die Verfolgungskurve kann in diesem Fall mit + +\begin{equation} + \vec{V}(t) + = + \left( \begin{array}{c} 0 \\ y_0-t \end{array} \right) +\end{equation} +% +parametrisiert werden. +Nun kann der Abstand zwischen Verfolger und Ziel leicht bestimmt und nach 0 aufgelöst werden. +Daraus folgt + +\begin{equation} + 0 + = + |\vec{V}(t_1)-\vec{Z}(t_1)| + = + y_0-2t_1 +\end{equation} +% +, was aufgelöst zu + +\begin{equation} + t_1 + = + \frac{y_0}{2} +\end{equation} +% +führt. +Nun ist klar, dass lediglich Anfangspunkte auf der positiven y-Achse oder direkt auf dem Ziel dazu führen, dass der Verfolger das Ziel bei $t_1$ einholt. +Bei allen anderen Anfangspunkten wird der Verfolger das Ziel nie erreichen. Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. Somit wird in einer nächsten Betrachtung untersucht, ob der Verfolger dem Ziel näher kommt als ein definierter Trefferradius. @@ -109,15 +152,18 @@ Falls dies stattfinden sollte, wird dies als Treffer interpretiert. Mathematisch kann dies mit \begin{equation} - |\vec{V}-\vec{Z}|0 + |\vec{V}-\vec{Z}|0 \end{equation} - -beschrieben werden, wobei $a_min$ dem Trefferradius entspricht. -Diese Gleichung wird noch quadriert, um die Wurzeln des Betrages loszuwerden. -Da sowohl der Betrag als auch $a_min$ grösser null sind, bleibt die Aussage unverändert. +% +beschrieben werden, wobei $a_{min}$ dem Trefferradius entspricht. +Durch quadrieren verschwindet die Wurzel des Betrages, womit \begin{equation} - |\vec{V}-\vec{Z}|^2 0 + |\vec{V}-\vec{Z}|^2 0 \end{equation} +% +die neue Bedingung ist. +Da sowohl der Betrag als auch $a_{min}$ grösser null sind, bleibt die Aussage unverändert. + -- cgit v1.2.1 From 7152877683f6ee147a404b5ab5f00a10a9a80c16 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Fri, 22 Jul 2022 15:36:14 +0200 Subject: polished sentence in chapter Verfolger und Verfolgungsstrategie --- buch/papers/lambertw/teil0.tex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 2905605..41257e6 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -78,7 +78,7 @@ Die Differenz der Ortsvektoren $\vec{V}$ und $\vec{Z}$ ist ein Vektor der vom Pu Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, die Länge auf eins festgelegt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. -Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. +Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. Somit ergeben sich \begin{align} \label{lambertw:pursuerDGL} \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot @@ -88,7 +88,7 @@ Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichun \\ \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot \frac{\dot{\vec{V}}}{|\dot{\vec{V}}|} &= - 1 + 1 \text{.} \end{align} Die Lösungen dieser Differentialgleichung sind die gesuchten Verfolgungskurven, insofern der Verfolger die Strategie 1 verwendet. @@ -98,11 +98,13 @@ Als nächstes gehen wir auf das Ziel ein. Wie der Verfolger wird auch unser Ziel sich strikt an eine Fluchtstrategie halten, welche von Anfang an bekannt ist. Diese Strategie kann als Parameterdarstellung der Position nach der Zeit beschrieben werden. Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebene mit der Parametrisierung + \begin{equation} \vec{Z}(t) = \left( \begin{array}{c} 0 \\ t \end{array} \right) \end{equation} + beschrieben werden könnte. Mit dieser Gleichung ist das Ziel auch schon vollumfänglich definiert. Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende Differentialgleichung immer komplexer. -- cgit v1.2.1 From df7209b60ecfb28b0f32a674920357cec038d6a0 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Fri, 22 Jul 2022 15:58:02 +0200 Subject: Corrected typos --- buch/papers/lambertw/teil1.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index 819658a..b46ed12 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -15,7 +15,7 @@ Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel bet %\subsection{Ziel erreichen (überarbeiten) %\label{lambertw:subsection:ZielErreichen}} Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. -Wir verwenden die Hergeleiteten Gleichungen für Startbedingung im ersten Quadranten +Wir verwenden die hergeleiteten Gleichungen für Startbedingung im ersten Quadranten \begin{align*} x\left(t\right) &= @@ -112,7 +112,7 @@ Somit kann nach den Gestellten Bedingungen das Ziel nie erreicht werden. Aus der Symmetrie des Problems an der y-Achse können auch alle Anfangspunkte im zweiten Quadranten die Bedingungen nicht erfüllen. Bei allen Anfangspunkten mit $y_0<0$ ist ein Einholen unmöglich, da die Geschwindigkeit des Verfolgers und Ziels übereinstimmen und der Verfolger dem Ziel bereits am Anfang nachgeht. Wenn die Wertemenge der Anfangsbedingung um die positive y-Achse erweitert wird, kann das Ziel wiederum erreicht werden. -Sobald der Verfolger auf der positiven y-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel Zeigt und der Verfolger sich auf der Fluchtgeraden befindet. +Sobald der Verfolger auf der positiven y-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt und der Verfolger sich auf der Fluchtgeraden befindet. Dies führt zwingend dazu, dass der Verfolger das Ziel erreichen wird. Die Verfolgungskurve kann in diesem Fall mit -- cgit v1.2.1 From f3ced170faef47bcdf76f96eabf0534a58fd348e Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Fri, 22 Jul 2022 16:31:41 +0200 Subject: 0f1, struktur --- buch/papers/0f1/images/airy.pdf | Bin 0 -> 25568 bytes buch/papers/0f1/images/konvergenzAiry.pdf | Bin 0 -> 15137 bytes buch/papers/0f1/images/konvergenzNegativ.pdf | Bin 0 -> 16312 bytes buch/papers/0f1/images/konvergenzPositiv.pdf | Bin 0 -> 18924 bytes buch/papers/0f1/images/stabilitaet.pdf | Bin 0 -> 20944 bytes buch/papers/0f1/listings/kettenbruchIterativ.c | 45 ++++++++++++++++++++++++ buch/papers/0f1/listings/kettenbruchRekursion.c | 19 ++++++++++ buch/papers/0f1/listings/potenzreihe.c | 13 +++++++ 8 files changed, 77 insertions(+) create mode 100644 buch/papers/0f1/images/airy.pdf create mode 100644 buch/papers/0f1/images/konvergenzAiry.pdf create mode 100644 buch/papers/0f1/images/konvergenzNegativ.pdf create mode 100644 buch/papers/0f1/images/konvergenzPositiv.pdf create mode 100644 buch/papers/0f1/images/stabilitaet.pdf create mode 100644 buch/papers/0f1/listings/kettenbruchIterativ.c create mode 100644 buch/papers/0f1/listings/kettenbruchRekursion.c create mode 100644 buch/papers/0f1/listings/potenzreihe.c (limited to 'buch/papers') diff --git a/buch/papers/0f1/images/airy.pdf b/buch/papers/0f1/images/airy.pdf new file mode 100644 index 0000000..672d789 Binary files /dev/null and b/buch/papers/0f1/images/airy.pdf differ diff --git a/buch/papers/0f1/images/konvergenzAiry.pdf b/buch/papers/0f1/images/konvergenzAiry.pdf new file mode 100644 index 0000000..2e635ea Binary files /dev/null and b/buch/papers/0f1/images/konvergenzAiry.pdf differ diff --git a/buch/papers/0f1/images/konvergenzNegativ.pdf b/buch/papers/0f1/images/konvergenzNegativ.pdf new file mode 100644 index 0000000..3b58be4 Binary files /dev/null and b/buch/papers/0f1/images/konvergenzNegativ.pdf differ diff --git a/buch/papers/0f1/images/konvergenzPositiv.pdf b/buch/papers/0f1/images/konvergenzPositiv.pdf new file mode 100644 index 0000000..24e3fd5 Binary files /dev/null and b/buch/papers/0f1/images/konvergenzPositiv.pdf differ diff --git a/buch/papers/0f1/images/stabilitaet.pdf b/buch/papers/0f1/images/stabilitaet.pdf new file mode 100644 index 0000000..be4af42 Binary files /dev/null and b/buch/papers/0f1/images/stabilitaet.pdf differ diff --git a/buch/papers/0f1/listings/kettenbruchIterativ.c b/buch/papers/0f1/listings/kettenbruchIterativ.c new file mode 100644 index 0000000..befea8e --- /dev/null +++ b/buch/papers/0f1/listings/kettenbruchIterativ.c @@ -0,0 +1,45 @@ +static double fractionRekursion0f1(const double c, const double x, unsigned int n) +{ + double a = 0.0; + double b = 0.0; + double Ak = 0.0; + double Bk = 0.0; + double Ak_1 = 0.0; + double Bk_1 = 0.0; + double Ak_2 = 0.0; + double Bk_2 = 0.0; + + for (unsigned int k = 0; k <= n; ++k) + { + if (k == 0) + { + a = 1.0; //a0 + //recursion fomula for A0, B0 + Ak = a; + Bk = 1.0; + } + else if (k == 1) + { + a = 1.0; //a1 + b = x/c; //b1 + //recursion fomula for A1, B1 + Ak = a * Ak_1 + b * 1.0; + Bk = a * Bk_1; + } + else + { + a = 1 + (x / (k * ((k - 1) + c)));//ak + b = -(x / (k * ((k - 1) + c))); //bk + //recursion fomula for Ak, Bk + Ak = a * Ak_1 + b * Ak_2; + Bk = a * Bk_1 + b * Bk_2; + } + //save old values + Ak_2 = Ak_1; + Bk_2 = Bk_1; + Ak_1 = Ak; + Bk_1 = Bk; + } + //approximation fraction + return Ak/Bk; +} diff --git a/buch/papers/0f1/listings/kettenbruchRekursion.c b/buch/papers/0f1/listings/kettenbruchRekursion.c new file mode 100644 index 0000000..958d4e1 --- /dev/null +++ b/buch/papers/0f1/listings/kettenbruchRekursion.c @@ -0,0 +1,19 @@ +static double fractionIter0f1(const double b0, const double z, unsigned int n) +{ + double a = 0.0; + double b = 0.0; + double abn = 0.0; + double temp = 0.0; + + for (; n > 0; --n) + { + abn = z / (n * ((n - 1) + b0)); //abn = ak, bk + + a = n > 1 ? (1 + abn) : 1; //a0, a1 + b = n > 1 ? -abn : abn; //b1 + + temp = b / (a + temp); + } + + return a + temp; //a0 + temp +} \ No newline at end of file diff --git a/buch/papers/0f1/listings/potenzreihe.c b/buch/papers/0f1/listings/potenzreihe.c new file mode 100644 index 0000000..bfaa0e3 --- /dev/null +++ b/buch/papers/0f1/listings/potenzreihe.c @@ -0,0 +1,13 @@ +#include + +static double powerseries(const double b, const double z, unsigned int n) +{ + double temp = 0.0; + + for (unsigned int k = 0; k < n; ++k) + { + temp += pow(z, k) / (factorial(k) * pochhammer(b, k)); + } + + return temp; +} \ No newline at end of file -- cgit v1.2.1 From 4e98fc86feda32c0f2c20b879fe357ff64ee1441 Mon Sep 17 00:00:00 2001 From: daHugen Date: Fri, 22 Jul 2022 21:37:40 +0200 Subject: made some changes and added some things --- buch/papers/lambertw/teil4.tex | 239 ++++++++++++++++++++++++----------------- 1 file changed, 141 insertions(+), 98 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index bc1bf4d..78314a1 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -44,134 +44,137 @@ Nun haben wir eine Gleichung, es stellt sich aber die Frage ob es überhaupt ein Auf dem Weg dahin muss die definierte DGL zuerst wesentlich vereinfacht werden, sei es mittels algebraische Umformungen oder mit den Tools aus der Analysis. Also legen wir los! Zuerst müssen wir den Bruch in \eqref{lambertw:eqMitAnfangsbed} los werden, der sieht so nicht handlich aus. Dafür multiplizieren wir beidseitig mit dem Nenner: -\[ +\begin{equation} \left( \begin{array}{c} 0-x \\ t-y \end{array} \right) \cdot \left(\begin{array}{c} \dot{x} \\ \dot{y} \end{array}\right) - = \sqrt{x^2 + (t-y)^2},\\ -\] + = \sqrt{x^2 + (t-y)^2}. + \label{lambertw:eqOhneBruch} +\end{equation} In einem weiteren Schritt, lösen wir das Skalarprodukt auf und erhalten folgende Gleichung \eqref{lambertw:eqOhneSkalarprod} ohne vektorielle Grössen: \begin{equation} -x \cdot \dot{x} + (t-y) \cdot \dot{y} - = \sqrt{x^2 + (t-y)^2} + = \sqrt{x^2 + (t-y)^2}. \label{lambertw:eqOhneSkalarprod} \end{equation} -Ist es nicht schön? Wir sind die -Im nächsten Schritt quadriert man beide Seiten, erweitert den neu entstandenen quadratischen Term, bringt alles auf die linke Seite und klammert gemeinsames aus. -\begin{align*} - ((t-y) \dot{y} - x \dot{x})^2 - &= x^2 + (t-y)^2 \\ - x^2 \dot{x}^2 - 2x(t-y) \dot{x} \dot{y} + (t-y)^2 \dot{y} - &= x^2 + (t-y)^2 \\ - \dot{x}^2 x^2 - x^2 - 2x(t-y) \dot{x} \dot{y} + \dot{y}^2 (t-y)^2 - (t-y)^2 - &= 0 \\ - (\dot{x}^2 - 1) \cdot x^2 - 2x(t-y) \dot{x} \dot{y} + (\dot{y}^2 - 1) \cdot (t-y)^2 - &= 0 -\end{align*} -Der letzte Ausdruck kann mittels folgender Beziehung \(\dot{x}^2 + \dot{y}^2 = 1\) vereinfacht werden, anschliessend wird die Gleichung mit \(-1\) multipliziert: -\[ - \underbrace{(\dot{x}^2 - 1)}_{\mathclap{-\dot{y}^2}} \cdot x^2 - 2x(t-y) \dot{x} \dot{y} + \underbrace{(\dot{y}^2 - 1)}_{\mathclap{-\dot{x}^2}} \cdot (t-y)^2 - = 0 -\] -\begin{align*} - - \dot{y}^2 \cdot x^2 - 2x(t-y) \dot{x} \dot{y} - \dot{x}^2 \cdot (t-y)^2 - &= 0 \\ - \dot{y}^2 \cdot x^2 + 2x(t-y) \dot{x} \dot{y} + \dot{x}^2 \cdot (t-y)^2 - &= 0 -\end{align*} -Im letzten Ausdruck erkennt man das Muster einer binomischen Formel, was den Ausdruck wesentlich vereinfacht: -\begin{align*} - x^2 \dot{y}^2 + 2 \cdot x \dot{y} \cdot (t-y) \dot{x} + (t-y)^2 \dot{x}^2 - &= 0 \\ +Im letzten Schritt, fällt die Nützlichkeit des Skalarproduktes in der Verfolgungsgleichung \eqref{lambertw:pursuerDGL} markant auf. Meiner Meinung ziemlich elegant und nicht selbstverständlich in der Lage zu sein, das Problem auf eine einzige Gleichung reduzieren zu können. + +Die nächsten Schritte sind sehr algebralastig und würden das lesen dieses Papers einfach nur mühsam machen, also werde ich diese auslassen. Hingegen werden ich die algebraische Hauptschritte erwähnen, die notwendig wären falls man es trotzdem selber ausprobieren möchte: +\begin{itemize} + \item + Quadrieren und erweitern. + \item + Gruppieren. + \item + Substitution von einzelnen Thermen mittels der Beziehung \(\dot{x}^2 + \dot{y}^2 = 1\). + \item + Und das erkennen des Musters einer Binomischen Formel. +\end{itemize} +Das Resultat aller dieser Vereinfachungen führen zu folgender Gleichung \eqref{lambertw:eqAlgVerinfacht}, die viel handhabbarer ist als zuvor: +\begin{equation} (x \dot{y} + (t-y) \dot{x})^2 - &= 0 -\end{align*} + = 0. + \label{lambertw:eqAlgVerinfacht} +\end{equation} +Da der linke Term gleich Null ist, muss auch der Inhalt des Quadrates gleich Null sein, somit folgt eine weitere Vereinfachung, welche zu einer im Vergleich zu \eqref{lambertw:eqOhneSkalarprod} wesentlich einfachere DGL führt: +\begin{equation} + x \dot{y} + (t-y) \dot{x} + = 0. + \label{lambertw:eqGanzVerinfacht} +\end{equation} +Kompakt, ohne Wurzelterme und Quadrate, nur elementare Operationen und Ableitungen. Nun stellt sich die Frage wie es weiter gehen soll, bei der Gleichung \eqref{lambertw:eqGanzVerinfacht} scheinen keine weiteren Vereinfachungen möglich zu sein. Wir brauchen einen neuen Ansatz um unser Ziel einer möglichen Lösung zu verfolgen. \subsection{Zeitabhängigkeit loswerden \label{lambertw:subsection:ZeitabhLoswerden}} -Wenn man nun beidseitig die Quadratwurzel zieht, dann ergibt sich im Vergleich zu \eqref{lambertw:eqOhneSkalarprod} eine wesentlich einfachere DGL: +Der nächste logischer Schritt schient irgendwie die Zeitabhängigkeit in der Gleichung \eqref{lambertw:eqGanzVerinfacht} loszuwerden, aber wieso? Nun, wie am Anfang von Abschnitt \ref{lambertw:subsection:DGLvereinfach} beschrieben, suchen wir eine Lösung der Art \(y(x)\), dies ist natürlich erst möglich wenn wir die Abhängigkeit nach \(t\) eliminieren können. + +Der erste Schritt auf dem Weg dahin, ist es die zeitlichen Ableitung los zu werden, dafür wird \eqref{lambertw:eqGanzVerinfacht} beidseitig mit \(\dot{x}\) dividiert, was erlaubt ist, weil diese Änderung ungleich Null ist: \begin{equation} - x \dot{y} + (t-y) \dot{x} - = 0 - \label{lambertw:equation5} -\end{equation} -Um die Ableitung nach der Zeit wegzubringen, wird beidseitig mit \(\dot{x}\) dividiert, wobei \(\frac{\dot{y}}{\dot{x}} = \frac{dy}{dt}/\frac{dx}{dt} = \frac{dy}{dx}\) entspricht. -\[ x \frac{\dot{y}}{\dot{x}} + (t-y) \frac{\dot{x}}{\dot{x}} - = 0 -\] -Nach dem Kürzen und Vereinfachen ergibt sich folgende DGL: + = 0. + \label{lambertw:eqVorKeineZeitAbleit} +\end{equation} +Der Grund dafür ist, dass +\begin{equation} + \frac{\displaystyle\dot{y}}{\displaystyle\dot{x}} + = \frac{\displaystyle\frac{dy}{dt}}{\displaystyle\frac{dx}{dt}} + = \frac{dy}{dx} + = y^{\prime}, + \label{lambertw:eqQuotZeitAbleit} +\end{equation} +und somit kann der Quotient dieser zeitlichen Ableitungen in eine Ableitung nach \(x\) umgewandelt werden. +Nach dem diese Eigenschaft \eqref{lambertw:eqQuotZeitAbleit} in \eqref{lambertw:eqVorKeineZeitAbleit} eingesetzt wird und vereinfacht wurde, entsteht folgende neue Gleichung: \begin{equation} x y^{\prime} + t - y - = 0 + = 0. \label{lambertw:DGLmitT} \end{equation} -Hier wäre es passend wenn man die Abhängigkeit nach \(t\) komplett wegbringen könnte. Um dies zu erreichen muss man auf die Definition der Bogenlänge aus Analysis 2 zurückgreifen: +Hier wäre es natürlich passend wenn man die Abhängigkeit nach \(t\) komplett wegbringen könnte. Um dies zu erreichen muss man auf die Definition der Bogenlänge aus der Analysis zurückgreifen, wobei die Strecke \(s\) folgendem entspricht: \begin{equation} s = v \cdot t = + 1 \cdot t + = t = - \int_{x_0}^{x_{end}}\sqrt{1+y^{\prime\, 2}} \: dx + \int_{\displaystyle x_0}^{\displaystyle x_{\text{end}}}\sqrt{1+y^{\prime\, 2}} \: dx. \label{lambertw:eqZuBogenlaenge} \end{equation} Nicht gerade auffällig ist die Richtung in welche hier integriert wird. Wenn der Verfolger sich wie vorgesehen am Anfang im ersten Quadranten befindet, dann muss sich dieser nach links bewegen, was nicht der üblichen Integrationsrichtung entspricht. Um eine Integration wie üblich von links nach rechts ausführen zu können, müssen die Integrationsgenerzen vertauscht werden, was in einem Vorzeichenwechsel resultiert. Wenn man nun \eqref{lambertw:eqZuBogenlaenge} in die DGL \eqref{lambertw:DGLmitT} einfügt, dann ergibt sich folgender Ausdruck: \begin{equation} x y^{\prime} - \int\sqrt{1+y^{\prime\, 2}} \: dx - y - = 0 + = 0. \label{lambertw:DGLohneT} \end{equation} -Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambertw:DGLohneT} nach \(x\) ab: -\begin{align*} +Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambertw:DGLohneT} nach \(x\) ab und erhaltet folgende DGL \eqref{lambertw:DGLohneInt}: +\begin{align} y^{\prime}+ xy^{\prime\prime} - \sqrt{1+y^{\prime\, 2}} - y^{\prime} - &= 0 \\ + &= 0, \\ xy^{\prime\prime} - \sqrt{1+y^{\prime\, 2}} - &= 0 -\end{align*} + &= 0. + \label{lambertw:DGLohneInt} +\end{align} +Nun sind wir unserem Ziel eine weiteren Schritt näher. Die Gleichung \eqref{lambertw:DGLohneInt} mag auf den ersten Blick nicht gerade einfach sein, aber im Nächsten Abschnitt werden wir sehen, dass sie relativ einfach zu lösen ist. \subsection{DGL lösen \label{lambertw:subsection:DGLloes}} -Mittels der Substitution \(y^{\prime} = u\) kann vorherige DGL in eine erster Ordnung umgewandelt werden: -\begin{equation*} +Die Gleichung \eqref{lambertw:DGLohneInt} ist eine DGL zweiter Ordnung und kann +mittels der Substitution \(y^{\prime} = u\) in eine DGL erster Ordnung umgewandelt werden: +\begin{equation} xu^{\prime} - \sqrt{1+u^2} - = 0 + = 0. \label{lambertw:DGLmitU} -\end{equation*} -Welche mittels Separation gelöst werden kann: -\begin{align*} - arsinh(u) + C_L - &= - ln(x) + C_R \\ - arsinh(u) +\end{equation} +Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar ist, also werde ich direkt zur Lösung \eqref{lambertw:loesDGLmitU} übergehen: +\begin{align} + \operatorname{arsinh}(u) &= - ln(x) + C \\ + \operatorname{ln}(x) + C, \\ u &= - sinh(ln(x) + C) -\end{align*} -In dem man die Substitution rückgängig macht, erhält man eine weitere DGL erster Ordnung die bereits separiert ist: + \operatorname{sinh}(\operatorname{ln}(x) + C). + \label{lambertw:loesDGLmitU} +\end{align} +Indem man die Substitution rückgängig macht, erhält man eine weitere DGL erster Ordnung die bereits separiert ist und erhält folgende Lösung: \begin{equation} y^{\prime} = - sinh(ln(x) + C) + \operatorname{sinh}(\operatorname{ln}(x) + C). + \label{lambertw:loesDGLmitY} \end{equation} -Diese kann mit den selben Methoden gelöst werden, diesmal in Kombination mit der exponentiellen Definition der \(sinh\)-Funktion: -\begin{align*} +Diese \eqref{lambertw:loesDGLmitY} kann mit den selben Methoden gelöst werden wie \eqref{lambertw:DGLmitU}, diesmal aber in Kombination mit der exponentiellen Definition der \(\operatorname{sinh}\)-Funktion: +\begin{equation} y - &= - \int sinh(ln(x) + C) \\ - &= - \int \frac{1}{2} (e^{ln(x)+C} - e^{-(ln(x)+C)}) \\ - &= - \frac{e^C}{4} x^2 - \frac{ln(x)}{2 \cdot e^C} + C_1 \\ - &= - C_1 + C_2 x^2 - \frac{ln(x)}{8 \cdot C_2} -\end{align*} + = + C_1 + C_2 x^2 - \frac{\operatorname{ln}(x)}{8 \cdot C_2}. +\end{equation} +Nun haben wir eine Lösung, aber wie es immer mit Lösungen ist, stellt sich die Frage ob sie überhaupt plausibel ist. Dieser Frage werden wir in nächsten Abschnitt \ref{lambertw:subsection:LoesAnalys} nachgehen. \subsection{Lösung analysieren \label{lambertw:subsection:LoesAnalys}} + \begin{figure} \centering \includegraphics{papers/lambertw/Bilder/VerfolgungskurveBsp.png} @@ -184,47 +187,87 @@ Das Resultat, wie ersichtlich, ist folgende Funktion \eqref{lambertw:funkLoes} w \begin{equation} {\color{red}{y(x)}} = - C_1 + C_2 {\color{darkgreen}{x^2}} {\color{blue}{-}} \frac{\color{blue}{ln(x)}}{8 \cdot C_2} + C_1 + C_2 {\color{darkgreen}{x^2}} {\color{blue}{-}} \frac{\color{blue}{\operatorname{ln}(x)}}{8 \cdot C_2}. \label{lambertw:funkLoes} \end{equation} -Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, welches für deren Bestimmung gelöst werden muss. Zuerst soll aber eine qualitative Intuition, oder Idee für das Aussehen der Funktion \(\bf{y(x)}\) geschaffen werden: +Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, welches für deren Bestimmung gelöst werden muss. Zuerst soll aber eine qualitative Intuition, oder Idee für das Aussehen der Funktion \(y(x)\) geschaffen werden: \begin{itemize} \item - Für grosse \(x\)-Werte welche in der Regel in der Nähe von \(x_0\) sein sollten, ist der quadratisch Term in der Funktion dominant und somit für immer kleiner werdende \(x\) geht der Verfolger in Richtung \(y\)-Achse wobei seine Steigung stetig sinkt, was Sinn macht wenn der Verfolgte entlang der \(y\)-Achse steigt. + Für grosse \(x\)-Werte, welche in der Regel in der Nähe von \(x_0\) sein sollten, ist der quadratisch Term in der Funktion \eqref{lambertw:funkLoes} dominant. + \item + Für immer kleiner werdende \(x\) geht der Verfolger in Richtung \(y\)-Achse, wobei seine Steigung stetig sinkt, was Sinn macht wenn der Verfolgte entlang der \(y\)-Achse steigt. Irgendwann werden Verfolger und Ziel auf gleicher Höhe sein. \item Für \(x\)-Werte in der Nähe von \(0\) ist das asymptotische Verhalten des Logarithmus dominant, dies macht auch Sinn da sich der Verfolgte auf der \(y\)-Achse bewegt und der Verfolger im nachgeht. \item - Aufgrund des Monotoniewechsels in der Kurve muss es auch ein Minimum aufweisen. Es stellt sich nun die Frage: Wo befindet sich dieser Punkt? Durch eine logische Überlegung kann eine Abschätzung darüber getroffen werden und zwar, dass dieser dann entsteht, wenn \(A\) und \(P\) die gleiche \(y\)-Koordinaten besitzen. In diesem Moment ändert die Richtung der \(y\)-Komponente der Geschwindigkeit und somit auch sein Vorzeichen. + Aufgrund des Monotoniewechsels in der Kurve \eqref{lambertw:funkLoes} muss diese auch ein Minimum aufweisen. Es stellt sich nun die Frage: Wo befindet sich dieser Punkt? + + Eine Abschätzung darüber kann getroffen werden und zwar, dass dieser dann entsteht, wenn \(A\) und \(P\) die gleiche \(y\)-Koordinaten besitzen. In diesem Moment ändert die Richtung der \(y\)-Komponente der Geschwindigkeit des Verfolgers, somit auch sein Vorzeichen und dadurch entsteht auch das Minimum. \end{itemize} -Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, siehe \ref{lambertw:BildFunkLoes}. Nun stellt sich die Frage wie die Kurve wirklich aussieht. +Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, welche durch die Grafik \ref{lambertw:BildFunkLoes} repräsentiert wurde. Nun stellt sich die Frage wie die Kurve wirklich aussieht. Dies wird im folgenden Abschnitt \ref{lambertw:subsection:AllgLoes} behandelt. -\subsection{Allgemeine Lösung +-------------------------------Ab hier muss im Kapitel 12.2 noch einiges bearbeitet werden----------------- +\subsection{Anfangswertproblem \label{lambertw:subsection:AllgLoes}} -Dies wird durch das Einsetzen folgender Anfangsbedingungen erreicht: +Wie üblich bei der Suche nach einer exakten Lösung, kommt ein Anfangswertproblem auf. Um dies zu lösen, müssen wir zuerst die Anfangswerte definieren. Da wir hier das Problem allgemein lösen, ergeben sich folgende zwei Anfangswerte: \begin{equation} y(x)\big \vert_{t=0} = y(x_0) = y_0 - \:;\: + \label{lambertw:eq1Anfangswert} +\end{equation} +und +\begin{equation} \frac{dy}{dx}\bigg \vert_{t=0} = y^{\prime}(x_0) = - \frac{y_0}{x_0} + \frac{y_0}{x_0}. + \label{lambertw:eq2Anfangswert} \end{equation} -Leitet man die Funktion \eqref{lambertw:funkLoes} nach x ab und setzt die Anfangsbedingungen ein, dann ergibt sich folgendes Gleichungssystem: -\begin{subequations} - \begin{align} - y_0 - &= - C_1 + C_2 x^2_0 - \frac{ln(x_0)}{8 \cdot C_2} \\ - \frac{y_0}{x_0} - &= - 2 \cdot C_2 x_0 - \frac{ln(x_0)}{8 \cdot C_2} - \end{align} -\end{subequations} +Der zweite Anfangswert \eqref{lambertw:eq2Anfangswert} mag nicht grade offensichtlich sein. Die Erklärung dafür ist aber simpel: Der Verfolger wird zum Zeitpunkt \(t=0\) in Richtung Koordinatenursprung bewegen wollen, wo sich das Ziel befindet. Somit entsteht das Steigungsdreieck \(\Delta x = x_0\) und \(\Delta y = y_0\). + +Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches ich nicht unbedingt eingehen möchte. Zur Vollständigkeit und Nachvollziehbarkeit werde ich aber das Gleichungssystem \eqref{lambertw:eqGleichungssystem} präsentieren, welches notwendig ist um das Anfangswertproblem zu lösen, sowie auch die allgemeine Lösung \eqref{lambertw:eqAllgLoes} die sich nach dem einsetzen der Koeffizienten \(C_1\) und \(C_2\) ergibt. + +\begin{itemize} + \item + Gleichungssystem: + \begin{subequations} + \begin{align} + y_0 + &= + C_1 + C_2 x^2_0 - \frac{\operatorname{ln}(x_0)}{8 \cdot C_2}, \\ + \frac{y_0}{x_0} + &= + 2 \cdot C_2 x_0 - \frac{1}{8 \cdot C_2 \cdot x_0}. + \end{align} + \label{lambertw:eqGleichungssystem} + \end{subequations} + \item + Allgemeine Funktion: + \begin{equation} + -4t + = + \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)ln\left(\eta\right). + \label{lambertw:eqAllgLoes} + \end{equation} + Wobei aus Übersichtlichkeitsgründen \(\eta\) und \(r_0\) wie folgt definiert wurden: + \begin{equation} + \eta + = + \left(\frac{x}{x_0}\right)^2 + \:\:\text{und}\:\: + r_0 + = + \sqrt{x_0^2+y_0^2}. + \end{equation} +\end{itemize} + + + +Leitet man die Funktion \eqref{lambertw:funkLoes} nach \(x\) ab und setzt die Anfangsbedingungen ein, dann ergibt sich folgendes Gleichungssystem: + ... Mit folgenden Formeln geht es weiter: \begin{align*} \eta -- cgit v1.2.1 From 5da2fa5a5e6a2fa2b8a23745b8c300d15a06669d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20M=C3=BCller?= Date: Sat, 23 Jul 2022 15:19:20 +0200 Subject: Restruct paper, correct typos, add positive conclusion, add more citations and references, small changes to plots --- buch/papers/laguerre/definition.tex | 86 +++++++--- buch/papers/laguerre/eigenschaften.tex | 129 +++++++++++---- buch/papers/laguerre/gamma.tex | 184 ++++++++++++++------- buch/papers/laguerre/images/estimates.pdf | Bin 13780 -> 13813 bytes buch/papers/laguerre/images/laguerre_poly.pdf | Bin 19815 -> 19815 bytes buch/papers/laguerre/images/rel_error_simple.pdf | Bin 23353 -> 24455 bytes buch/papers/laguerre/images/targets.pdf | Bin 14462 -> 14495 bytes buch/papers/laguerre/main.tex | 2 +- buch/papers/laguerre/presentation/presentation.pdf | Bin 394774 -> 0 bytes .../presentation/sections/gamma_approx.tex | 2 +- buch/papers/laguerre/quadratur.tex | 98 +++++++---- buch/papers/laguerre/references.bib | 4 +- buch/papers/laguerre/scripts/estimates.py | 2 +- buch/papers/laguerre/scripts/laguerre_poly.py | 2 +- buch/papers/laguerre/scripts/rel_error_simple.py | 2 +- buch/papers/laguerre/scripts/targets.py | 2 +- 16 files changed, 357 insertions(+), 156 deletions(-) delete mode 100644 buch/papers/laguerre/presentation/presentation.pdf (limited to 'buch/papers') diff --git a/buch/papers/laguerre/definition.tex b/buch/papers/laguerre/definition.tex index 4729a93..e2062d2 100644 --- a/buch/papers/laguerre/definition.tex +++ b/buch/papers/laguerre/definition.tex @@ -3,51 +3,80 @@ % % (c) 2022 Patrik Müller, Ostschweizer Fachhochschule % -\section{Definition - \label{laguerre:section:definition}} -\rhead{Definition} -Die verallgemeinerte Laguerre-Differentialgleichung ist gegeben durch +\section{Herleitung% +% \section{Einleitung +% \section{Definition +\label{laguerre:section:definition}} +\rhead{Definition}% +In einem ersten Schritt möchten wir die Laguerre-Polynome +aus der Laguerre-\-Differentialgleichung herleiten. +Zudem möchten wir die Lösung auch auf +die assoziierten Laguerre-Polynome ausweiten. +Im Anschluss möchten wir dann noch die Orthogonalität dieser Polynome beweisen. + +\subsection{Assoziierte Laguerre-Differentialgleichung} +Die assoziierte Laguerre-Differentialgleichung ist gegeben durch \begin{align} x y''(x) + (\nu + 1 - x) y'(x) + n y(x) = 0 , \quad -n \in \mathbb{N}_0 +n \in \mathbb{N} , \quad x \in \mathbb{R} \label{laguerre:dgl} . \end{align} -Spannenderweise wurde die verallgemeinerte Laguerre-Differentialgleichung +Spannenderweise wurde die assoziierte Laguerre-Differentialgleichung zuerst von Yacovlevich Sonine (1849 - 1915) beschrieben, aber aufgrund ihrer Ähnlichkeit nach Laguerre benannt. Die klassische Laguerre-Diffentialgleichung erhält man, wenn $\nu = 0$. -Hier wird die verallgemeinerte Laguerre-Differentialgleichung verwendet, + +{\subsection{Potenzreihenansatz} +\label{laguerre:subsection:potenzreihenansatz}} +Hier wird die assoziierte Laguerre-Differentialgleichung verwendet, weil die Lösung mit derselben Methode berechnet werden kann. Zusätzlich erhält man aber die Lösung für den allgmeinen Fall. -Zur Lösung von \eqref{laguerre:dgl} verwenden wir einen -Potenzreihenansatz. -Da wir bereits wissen, dass die Lösung orthogonale Polynome sind, -erscheint dieser Ansatz sinnvoll. -Setzt man nun den Ansatz +Wir stellen die Vermutung auf, +dass die Lösungen orthogonale Polynome sind. +Die Orthogonalität der Lösung werden wir im +Abschnitt~\ref{laguerre:subsection:orthogonal} beweisen. +Zur Lösung von \eqref{laguerre:dgl} verwenden wir aufgrund +der getroffenen Vermutungen einen Potenzreihenansatz. +Der Potenzreihenansatz ist gegeben als +% Da wir bereits wissen, +% dass die Lösung orthogonale Polynome sind, +% erscheint dieser Ansatz sinnvoll. \begin{align*} y(x) - & = +& = \sum_{k=0}^\infty a_k x^k -\\ +% \\ +. +\end{align*} +Für die 1. und 2. Ableitungen erhalten wir +\begin{align*} y'(x) - & = +& = \sum_{k=1}^\infty k a_k x^{k-1} = \sum_{k=0}^\infty (k+1) a_{k+1} x^k \\ y''(x) - & = +& = \sum_{k=2}^\infty k (k-1) a_k x^{k-2} = \sum_{k=1}^\infty (k+1) k a_{k+1} x^{k-1} +. \end{align*} -in die Differentialgleichung ein, erhält man + +\subsection{Lösen der Laguerre-Differentialgleichung} +Setzt man nun den Potenzreihenansatz in +\eqref{laguerre:dgl} +%die Differentialgleichung +ein, +% erhält man +resultiert \begin{align*} \sum_{k=1}^\infty (k+1) k a_{k+1} x^k + @@ -64,16 +93,18 @@ n \sum_{k=0}^\infty a_k x^k 0. \end{align*} Daraus lässt sich die Rekursionsbeziehung -\begin{align*} +\begin{align} a_{k+1} & = \frac{k-n}{(k+1) (k + \nu + 1)} a_k -\end{align*} +\label{laguerre:rekursion} +\end{align} ableiten. Für ein konstantes $n$ erhalten wir als Potenzreihenlösung ein Polynom vom Grad $n$, denn für $k=n$ wird $a_{n+1} = 0$ und damit auch $a_{n+2}=a_{n+3}=\ldots=0$. -Aus der Rekursionsbeziehung ist zudem ersichtlich, +Aus %der Rekursionsbeziehung +\eqref{laguerre:rekursion} ist zudem ersichtlich, dass $a_0 \neq 0$ beliebig gewählt werden kann. Wählen wir nun $a_0 = 1$, dann folgt für die Koeffizienten $a_1, a_2, a_3$ \begin{align*} @@ -114,7 +145,7 @@ L_n(x) \sum_{k=0}^{n} \frac{(-1)^k}{k!} \binom{n}{k} x^k \label{laguerre:polynom} \end{align} -und mit $\nu \in \mathbb{R}$ die verallgemeinerten Laguerre-Polynome +und mit $\nu \in \mathbb{R}$ die assoziierten Laguerre-Polynome \begin{align} L_n^\nu(x) = @@ -132,14 +163,19 @@ Abbildung~\ref{laguerre:fig:polyeval} dargestellt. \end{figure} \subsection{Analytische Fortsetzung} -Durch die analytische Fortsetzung erhalten wir zudem noch die zweite Lösung der -Differentialgleichung mit der Form +Durch die analytische Fortsetzung können wir zudem noch die zweite Lösung der +Differentialgleichung erhalten. +Laut \eqref{buch:funktionentheorie:singularitäten:eqn:w1} hat die Lösung +die Form \begin{align*} \Xi_n(x) = -L_n(x) \ln(x) + \sum_{k=1}^\infty d_k x^k +L_n(x) \log(x) + \sum_{k=1}^\infty d_k x^k . \end{align*} +Eine Herleitung dazu lässt sich im +Abschnitt \ref{buch:funktionentheorie:subsection:dglsing} +im ersten Teil des Buches finden. Nach einigen aufwändigen Rechnungen, % die am besten ein Computeralgebrasystem übernimmt, die den Rahmen dieses Kapitel sprengen würden, @@ -147,7 +183,7 @@ erhalten wir \begin{align*} \Xi_n = -L_n(x) \ln(x) +L_n(x) \log(x) + \sum_{k=1}^n \frac{(-1)^k}{k!} \binom{n}{k} (\alpha_{n-k} - \alpha_n - 2 \alpha_k)x^k diff --git a/buch/papers/laguerre/eigenschaften.tex b/buch/papers/laguerre/eigenschaften.tex index 4adbe86..55d2276 100644 --- a/buch/papers/laguerre/eigenschaften.tex +++ b/buch/papers/laguerre/eigenschaften.tex @@ -3,32 +3,83 @@ % % (c) 2022 Patrik Müller, Ostschweizer Fachhochschule % -\section{Orthogonalität - \label{laguerre:section:orthogonal}} -Im Abschnitt~\ref{laguerre:section:definition} +\subsection{Orthogonalität% +\label{laguerre:subsection:orthogonal}} +\rhead{Orthogonalität}% +Im Abschnitt~\ref{laguerre:subsection:potenzreihenansatz} haben wir die Behauptung aufgestellt, dass die Laguerre-Polynome orthogonal sind. Zu dieser Behauptung möchten wir nun einen Beweis liefern. -Wenn wir \eqref{laguerre:dgl} in ein -Sturm-Liouville-Problem umwandeln können, haben wir bewiesen, dass es sich -bei den Laguerre-Polynomen um orthogonale Polynome handelt (siehe -Abschnitt~\ref{buch:integrale:subsection:sturm-liouville-problem}). -Der Beweis kann äquivalent auch über den Sturm-Liouville-Operator +% +Um die Orthogonalität von Funktionen zu zeigen, +bieten sich folgende Möglichkeiten an: +\begin{enumerate} +\item Identifizieren der Funktion als Eigenfunktion eines Skalarproduktes +mit einem selbstadjungierten Operator. +Dafür muss aber zuerst bewiesen werden, +dass der verwendete Operator selbstadjungiert ist. +Die Theorie dazu findet sich in den +Abschnitten~\ref{buch:orthogonal:section:orthogonale-polynome-und-dgl} und +\ref{buch:orthogonalitaet:section:bessel}. +\item Umformen der Differentialgleichung in die Form der +Sturm-Liouville-Differentialgleichung, +denn für dieses verallgemeinerte Problem +ist die Orthogonalität bereits bewiesen. +Die Theorie dazu findet sich im Abschnitt~\ref{buch:integrale:subsection:sturm-liouville-problem}. +\end{enumerate} + +% \subsubsection{Plan} +\subsubsection{Idee} +Für den Beweis der Orthogonalität der Laguerre-Polynome möchten +wir den zweiten Ansatz über das Sturm-Liouville-Problem verwenden. +% Dazu müssen wir die Laguerre-Differentialgleichung~\eqref{laguerre:dgl} +% in die Form der Sturm-Liouville-Differentialgleichung bringen. +Allerdings möchten wir nicht die Laguerre-Differentialgleichung +in die richtige Form bringen, +sondern den Laguerre-Operator \begin{align} -S +\Lambda = -\frac{1}{w(x)} \left(-\frac{d}{dx}p(x) \frac{d}{dx} + q(x) \right). -\label{laguerre:slop} +x \frac{d}{dx^2} + (\nu + 1 -x) \frac{d}{dx} +\label{laguerre:lagop} +. \end{align} -und den Laguerre-Operator +Da es sich beim Sturm-Liouville-Problem um ein Eigenwertproblem handelt, +kann die Orthogonalität äquivalent über denn Sturm-Liouville-Operator \begin{align} -\Lambda +S = -x \frac{d}{dx^2} + (\nu + 1 -x) \frac{d}{dx} +\frac{1}{w(x)} \left(-\frac{d}{dx}p(x) \frac{d}{dx} + q(x) \right). +\label{laguerre:slop} \end{align} -erhalten werden, -indem wir diese Operatoren einander gleichsetzen. -Aus der Beziehung +bewiesen werden. +Dazu müssen wir die Operatoren einander gleichsetzen. + +% Wenn wir \eqref{laguerre:dgl} in ein +% Sturm-Liouville-Problem umwandeln können, haben wir bewiesen, dass es sich +% bei den Laguerre-Polynomen um orthogonale Polynome handelt (siehe +% Abschnitt~\ref{buch:integrale:subsection:sturm-liouville-problem}). +% Der Beweis kann äquivalent auch über den Sturm-Liouville-Operator +% \begin{align} +% S +% = +% \frac{1}{w(x)} \left(-\frac{d}{dx}p(x) \frac{d}{dx} + q(x) \right). +% \label{laguerre:slop} +% \end{align} +% und den Laguerre-Operator +% \begin{align} +% \Lambda +% = +% x \frac{d}{dx^2} + (\nu + 1 -x) \frac{d}{dx} +% \end{align} +% erhalten werden, +% indem wir diese Operatoren einander gleichsetzen. + +\subsubsection{Umformen in Sturm-Liouville-Operator} +% Aus der Beziehung von +Setzen wir nun +\eqref{laguerre:lagop} und \eqref{laguerre:slop} +einander gleich \begin{align} S & = @@ -75,11 +126,13 @@ x^{\nu+1} e^{-x} \frac{d^2}{dx^2} + = x \frac{d^2}{dx^2} + (\nu + 1 - x) \frac{d}{dx}. \end{align*} -Mittels Koeffizientenvergleich kann nun abgelesen werden, dass $w(x) = x^\nu -e^{-x}$ und $C=1$ mit $\nu > -1$. +Mittels Koeffizientenvergleich kann nun abgelesen werden, +dass $w(x) = x^\nu e^{-x}$ und $C=1$ mit $\nu > -1$. Die Gewichtsfunktion $w(x)$ wächst für $x\rightarrow-\infty$ sehr schnell an, deshalb ist die Laguerre-Gewichtsfunktion nur geeignet für den Definitionsbereich $(0, \infty)$. + +\subsubsection{Randbedingungen} Bleibt nur noch sicherzustellen, dass die Randbedingungen, \begin{align} k_0 y(0) + h_0 p(0)y'(0) @@ -93,10 +146,12 @@ k_\infty y(\infty) + h_\infty p(\infty) y'(\infty) \label{laguerre:sllag_randb} \end{align} mit $|k_i|^2 + |h_i|^2 \neq 0,\,\forall i \in \{0, \infty\}$, erfüllt sind. -Am linken Rand (Gleichung~\eqref{laguerre:sllag_randa}) kann $y(0) = 1$, $k_0 = -0$ und $h_0 = 1$ verwendet werden, +% +Am linken Rand \eqref{laguerre:sllag_randa} kann $y(0) = 1$, $k_0 = 0$ und +$h_0 = 1$ verwendet werden, was auch die Laguerre-Polynome ergeben haben. -Für den rechten Rand ist die Bedingung (Gleichung~\eqref{laguerre:sllag_randb}) + +Für den rechten Rand ist die Bedingung \eqref{laguerre:sllag_randb} \begin{align*} \lim_{x \rightarrow \infty} p(x) y'(x) & = @@ -105,9 +160,27 @@ Für den rechten Rand ist die Bedingung (Gleichung~\eqref{laguerre:sllag_randb}) 0 \end{align*} für beliebige Polynomlösungen erfüllt für $k_\infty=0$ und $h_\infty=1$. -Damit können wir schlussfolgern: -Die verallgemeinerten Laguerre-Polynome sind orthogonal -bezüglich des Skalarproduktes auf dem Intervall $(0, \infty)$ -mit der verallgemeinerten Laguerre\--Gewichtsfunktion $w(x)=x^\nu e^{-x}$. -Die Laguerre-Polynome ($\nu=0$) sind somit orthognal im Intervall $(0, \infty)$ -mit der Gewichtsfunktion $w(x)=e^{-x}$. + +% Somit können wir schlussfolgern: +\begin{satz} +Die Laguerre-Polynome %($\nu=0$) +\eqref{laguerre:polynom} +% \begin{align*} +% L_n(x) +% = +% \sum_{k=0}^{n} \frac{(-1)^k}{k!} \binom{n}{k} x^k +% \end{align*} +sind orthognale Polynome bezüglich des Skalarproduktes +im Intervall~$(0, \infty)$ mit der Gewichts\-funktion~$w(x)=e^{-x}$. +\end{satz} + +\begin{satz} +Die assoziierten Laguerre-Polynome \eqref{laguerre:allg_polynom} +% \begin{align*} +% L_n^\nu(x) +% = +% \sum_{k=0}^{n} \frac{(-1)^k}{(\nu + 1)_k} \binom{n}{k} x^k. +% \end{align*} +sind orthogonale Polynome bezüglich des Skalarproduktes +im Intervall~$(0, \infty)$ mit der Gewichts\-funktion~$w(x)=x^\nu e^{-x}$. +\end{satz} diff --git a/buch/papers/laguerre/gamma.tex b/buch/papers/laguerre/gamma.tex index 2e5fc06..e40d8ca 100644 --- a/buch/papers/laguerre/gamma.tex +++ b/buch/papers/laguerre/gamma.tex @@ -3,17 +3,34 @@ % % (c) 2022 Patrik Müller, Ostschweizer Fachhochschule % -\section{Anwendung: Berechnung der Gamma-Funktion +\section{Anwendung: Berechnung der + Gamma-Funktion% \label{laguerre:section:quad-gamma}} +\rhead{Approximation der Gamma-Funktion}% Die Gauss-Laguerre-Quadratur kann nun verwendet werden, -um exponentiell abfallende Funktionen im Definitionsbereich $(0, \infty)$ zu -berechnen. -Dabei bietet sich z.B. die Gamma-Funkion hervorragend an, +um exponentiell abfallende Funktionen im Definitionsbereich~$(0, \infty)$ +zu berechnen. +Dabei bietet sich zum Beispiel die Gamma-Funktion hervorragend an, wie wir in den folgenden Abschnitten sehen werden. -\subsection{Gamma-Funktion} +Im ersten Abschnitt~\ref{laguerre:subsection:gamma} möchten wir noch einmal +die wichtigsten Eigenschaften der Gamma-Funktion betrachten, +bevor wir dann im zweiten Abschnitt~\ref{laguerre:subsection:gauss-lag-gamma} +diese Eigenschaften nutzen werden, +damit wir die Gauss-Laguerre-Quadratur für die Gamma-Funktion +markant verbessern können. +% damit wir sie dann in einem nächsten Schritt verwenden können, +% um unsere Approximationsmethode zu verbessern +% Im zweiten Abschnitt~\ref{laguerre:subsection:gauss-lag-gamma} +% wenden wir dann die Gauss-Laguerre-Quadratur auf die Gamma-Funktion und +% erweitern die Methode + +{\subsection{Gamma-Funktion} +\label{laguerre:subsection:gamma}} Die Gamma-Funktion ist eine Erweiterung der Fakultät auf die reale und komplexe Zahlenmenge. +Mehr Informationen zur Gamma-Funktion lassen sich im +Abschnitt~\ref{buch:rekursion:section:gamma} finden. Die Definition~\ref{buch:rekursion:def:gamma} beschreibt die Gamma-Funktion als Integral der Form \begin{align} @@ -22,24 +39,30 @@ Integral der Form \int_0^\infty x^{z-1} e^{-x} \, dx , \quad -\text{wobei Realteil von $z$ grösser als $0$} +\text{wobei } \operatorname{Re}(z) > 0 \label{laguerre:gamma} . \end{align} -Der Term $e^{-t}$ im Integranden und der Integrationsbereich erfüllen +Der Term $e^{-x}$ im Integranden und der Integrationsbereich erfüllen genau die Bedingungen der Laguerre-Integration. % Der Term $e^{-t}$ ist genau die Gewichtsfunktion der Laguerre-Integration und % der Definitionsbereich passt ebenfalls genau für dieses Verfahren. -Weiter zu erwähnen ist, dass für die verallgemeinerte Laguerre-Integration die -Gewichtsfunktion $t^\nu e^{-t}$ exakt dem Integranden für $\nu=z-1$ entspricht. +Weiter zu erwähnen ist, dass für die assoziierte Laguerre-Integration die +Gewichtsfunktion $x^\nu e^{-x}$ exakt dem Integranden +für $\nu = z - 1$ entspricht. \subsubsection{Funktionalgleichung} Die Gamma-Funktion besitzt die gleiche Rekursionsbeziehung wie die Fakultät, nämlich \begin{align} +\Gamma(z+1) += z \Gamma(z) +\quad +\text{mit } +\Gamma(1) = -\Gamma(z+1) +1 . \label{laguerre:gamma_funktional} \end{align} @@ -61,21 +84,64 @@ her. Dadurch lassen Werte der Gamma-Funktion sich für $z$ in der rechten Halbebene leicht in die linke Halbebene übersetzen und umgekehrt. -\subsection{Berechnung mittels Gauss-Laguerre-Quadratur} +{\subsection{Berechnung mittels Gauss-Laguerre-Quadratur} +\label{laguerre:subsection:gauss-lag-gamma}} In den vorherigen Abschnitten haben wir gesehen, -dass sich die Gamma-Funktion bestens für die Gauss-Laguerre-Quadratur eignet. +dass sich die Gamma-Funktion bestens für die Gauss-Laguerre-Quadratur +\begin{align*} +\int_0^\infty x^{z-1} e^{-x} \, dx += +\int_0^\infty f(x) w(x) \, dx +\approx +\sum_{i=1}^n f(x_i) A_i +\end{align*} +eignet. Nun bieten sich uns zwei Optionen, diese zu berechnen: \begin{enumerate} -\item Wir verwenden die verallgemeinerten Laguerre-Polynome, dann $f(x)=1$. -\item Wir verwenden die Laguerre-Polynome, dann $f(x)=x^{z-1}$. +\item Wir verwenden die assoziierten Laguerre-Polynome $L_n^\nu(x)$ mit +$w(x) = x^\nu e^{-x}$, $\nu = z - 1$ und $f(x) = 1$. +% $f(x)=1$. +% \begin{align*} +% \int_0^\infty x^{z-1} e^{-x} \, dx +% = +% \int_0^\infty f(x) w(x) \, dx +% \quad +% \text{mit } +% w(x) +% = +% x^\nu e^{-x}, +% \nu +% = +% z - 1 +% \text{ und } +% f(x) = 1 +% . +% \end{align*} +\item Wir verwenden die Laguerre-Polynome $L_n(x)$ mit +$w(x) = e^{-x}$ und $f(x) = x^{z - 1}$. +% $f(x)=x^{z-1}$ +% \begin{align*} +% \int_0^\infty x^{z-1} e^{-x} \, dx +% = +% \int_0^\infty f(x) w(x) \, dx +% \quad +% \text{mit } +% w(x) +% = +% e^{-x} +% \text{ und } +% f(x) = x^{z - 1} +% . +% \end{align*} \end{enumerate} Die erste Variante wäre optimal auf das Problem angepasst, allerdings müssten die Gewichte und Nullstellen für jedes $z$ neu berechnet werden, da sie per Definition von $z$ abhängen. Dazu kommt, -dass die Berechnung der Gewichte $A_i$ nach \cite{laguerre:Cassity1965AbcissasCA} +dass die Berechnung der Gewichte $A_i$ nach +\cite{laguerre:Cassity1965AbcissasCA} \begin{align*} A_i = @@ -113,7 +179,7 @@ ergibt sich \sum_{i=1}^n x_i^{z-1} A_i. \label{laguerre:naive_lag} \end{align} - +% \begin{figure} \centering % \input{papers/laguerre/images/rel_error_simple.pgf} @@ -123,7 +189,7 @@ ergibt sich für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome} \label{laguerre:fig:rel_error_simple} \end{figure} - +% Bevor wir die Gauss-Laguerre-Quadratur anwenden, möchten wir als ersten Schritt eine Fehlerabschätzung durchführen. Für den Fehlerterm \eqref{laguerre:lag_error} wird die $2n$-te Ableitung @@ -146,7 +212,7 @@ R_n , \label{laguerre:gamma_err_simple} \end{align} -wobei $\xi$ ein geeigneter Wert im Interval $(0, \infty)$ ist +wobei $\xi$ ein geeigneter Wert im Intervall $(0, \infty)$ ist und $n$ der Grad des verwendeten Laguerre-Polynoms. Eine Fehlerabschätzung mit dem Fehlerterm stellt sich als unnütz heraus, da $R_n$ für $z < 2n - 1$ bei $\xi \rightarrow 0$ eine Singularität aufweist @@ -169,12 +235,12 @@ exakt ist für zu integrierende Polynome mit Grad $\leq 2n-1$ und hinzukommt, dass zudem von $z$ noch $1$ abgezogen wird im Exponenten. Es ist ersichtlich, -dass sich für den Polynomgrad $n$ ein Interval gibt, +dass sich für den Polynomgrad $n$ ein Intervall gibt, in dem der relative Fehler minimal ist. Links steigt der relative Fehler besonders stark an, während er auf der rechten Seite zu konvergieren scheint. Um die linke Hälfte in den Griff zu bekommen, -könnten wir die Reflektionsformel der Gamma-Funktion ausnutzen. +könnten wir die Reflektionsformel der Gamma-Funktion verwenden. \begin{figure} \centering @@ -204,8 +270,8 @@ das Problem in den Griff zu bekommen. Wie wir im vorherigen Abschnitt gesehen haben, scheint der Integrand problematisch. Darum möchten wir jetzt den Integranden analysieren, -um ihn besser verstehen zu können und -dadurch geeignete Gegenmassnahmen zu entwickeln. +damit wir ihn besser verstehen und +dadurch geeignete Gegenmassnahmen zu entwickeln können. % Dieser Abschnitt soll eine grafisches Verständnis dafür schaffen, % wieso der Integrand so problematisch ist. @@ -263,7 +329,7 @@ grösser als $0$ und kleiner als $2n-1$ ist. \subsubsection{Ansatz mit Verschiebungsterm} % Mittels der Funktionalgleichung \eqref{laguerre:gamma_funktional} -% kann der Wert von $\Gamma(z)$ im Interval $z \in [a,a+1]$, +% kann der Wert von $\Gamma(z)$ im Intervall $z \in [a,a+1]$, % in dem der relative Fehler minimal ist, % evaluiert werden und dann mit der Funktionalgleichung zurückverschoben werden. Nun stellt sich die Frage, @@ -322,28 +388,15 @@ s(z, m) \cdot (z - 2n)_{2n} \frac{(n!)^2}{(2n)!} \xi^{z + m - 2n - 1} \label{laguerre:gamma_err_shifted} . \end{align} - +% \begin{figure} \centering \includegraphics{papers/laguerre/images/targets.pdf} % %\vspace{-12pt} -\caption{$a$ in Abhängigkeit von $z$ und $n$} +\caption{$m^*$ in Abhängigkeit von $z$ und $n$} \label{laguerre:fig:targets} \end{figure} -% wobei ist -% mit $z^*(n) \in \mathbb{R}$ wollen wir finden, -% in dem wir den Fehlerterm \eqref{laguerre:lag_error} anpassen -% und in einem nächsten Schritt minimieren. -% Zudem nehmen wir an, -% dass $z < z^*(n)$ ist. -% Wir fügen einen Verschiebungsterm um $m \in \mathbb{N}$ Stellen ein, -% daraus folgt -% -% Damit wir den idealen Verschiebungsterm $m^*$ finden können, -% müssen wir mittels des Fehlerterms \eqref{laguerre:gamma_err_shifted} -% ein Optimierungsproblem % -% Das Optimierungsproblem daraus lässt sich als Daraus formulieren wir das Optimierungproblem \begin{align*} m^* @@ -361,8 +414,8 @@ nur wirklich praktisch sinnvoll für kleine $n$ ist, können die Intervalle $[a(n), a(n)+1]$ empirisch gesucht werden. Wir bestimmen nun die optimalen Verschiebungsterme empirisch -für $n = 2,\ldots, 12$ im Intervall $z \in (0, 1)$, -da $z$ sowieso um den Term $m$ verschoben wird, +für $n = 1,\ldots, 12$ im Intervall $z \in (0, 1)$, +da $z$ sowieso mit den Term $m$ verschoben wird, reicht die $m^*$ nur in diesem Intervall zu analysieren. In Abbildung~\ref{laguerre:fig:targets} sind die empirisch bestimmten $m^*$ abhängig von $z$ und $n$ dargestellt. @@ -382,7 +435,7 @@ Den linearen Regressor = \alpha n + \beta \end{align*} -machen wir nur abhängig von $n$ +machen wir nur abhängig von $n$, in dem wir den Mittelwert $\overline{m}$ von $m^*$ über $z$ berechnen. \begin{figure} @@ -395,8 +448,8 @@ in dem wir den Mittelwert $\overline{m}$ von $m^*$ über $z$ berechnen. \end{figure} In Abbildung~\ref{laguerre:fig:schaetzung} sind die Resultate -der linearen Regression aufgezeigt mit $\alpha = 1.34094$ und $\beta = -0.854093$. +der linearen Regression aufgezeigt mit $\alpha = 1.34154$ und $\beta = +0.848786$. Die lineare Beziehung ist ganz klar ersichtlich und der Fit scheint zu genügen. Der optimale Verschiebungsterm kann nun mit \begin{align*} @@ -413,8 +466,8 @@ gefunden werden. In einem ersten Schritt möchten wir analysieren, wie gut die Abschätzung des optimalen Verschiebungsterms ist. Dazu bestimmen wir den relativen Fehler für verschiedene Verschiebungsterme $m$ -rund um $m^*$ bei gegebenem Polynomgrad $n = 8$ für $z \in (0, 1)$. -Abbildung~\ref{laguerre:fig:rel_error_shifted} sind die relativen Fehler +in der Nähe von $m^*$ bei gegebenem Polynomgrad $n = 8$ für $z \in (0, 1)$. +In Abbildung~\ref{laguerre:fig:rel_error_shifted} sind die relativen Fehler der Approximation dargestellt. Man kann deutlich sehen, dass der relative Fehler anwächst, @@ -512,21 +565,36 @@ H_k(z) \frac{(-1)^k (-z)_k}{(z+1)_k} \end{align*} mit $H_0 = 1$ und $\sum_0^n g_k = 1$ (siehe \cite{laguerre:lanczos}). -Diese Methode wurde zum Beispiel in -{\em GNU Scientific Library}, {\em Boost}, {\em CPython} und +Diese Methode wurde zum Beispiel in +{\em GNU Scientific Library}, {\em Boost}, {\em CPython} und {\em musl} implementiert. -Diese Methode erreicht für $n = 7$ typischerweise Genauigkeit von $13$ +Diese Methode erreicht für $n = 7$ typischerweise eine Genauigkeit von $13$ korrekten, signifikanten Stellen für reele Argumente. -Zum Vergleich: die vorgestellte Methode erreicht für $n = 7$ -eine minimale Genauigkeit von $6$ korrekten, signifikanten Stellen +Zum Vergleich: die vorgestellte Methode erreicht für $n = 7$ +eine minimale Genauigkeit von $6$ korrekten, signifikanten Stellen für reele Argumente. -Das Resultat ist etwas enttäuschend, -aber nicht unerwartet, -da die Lanczos-Methode spezifisch auf dieses Problem zugeschnitten ist und + +\subsubsection{Fazit} +% Das Resultat ist etwas enttäuschend, +Die Genauigkeit der vorgestellten Methode schneidet somit schlechter ab, +als die Lanczos-Methode. +Dieser Erkenntnis kommt nicht ganz unerwartet, +% aber nicht unerwartet, +da die Lanczos-Methode spezifisch auf dieses Problem zugeschnitten ist und unsere Methode eine erweiterte allgemeine Methode ist. -Was die Komplexität der Berechnungen im Betrieb angeht, -ist die Gauss-Laguerre-Quadratur wesentlich ressourcensparender, -weil sie nur aus $n$ Funktionsevaluationen, -wenigen Multiplikationen und Additionen besteht. +Allerdings besticht die vorgestellte Methode +durch ihre stark reduzierte Komplexität. % und Rechenaufwand. +% Was die Komplexität der Berechnungen im Betrieb angeht, +% ist die Gauss-Laguerre-Quadratur wesentlich ressourcensparender, +% weil sie nur aus $n$ Funktionsevaluationen, +% wenigen Multiplikationen und Additionen besteht. +Was den Rechenaufwand angeht, +benötigt die vorgestellte Methode, +für eine Genauigkeit von $n-1$ signifikanten Stellen, +nur $n$ Funktionsevaluationen +und wenige zusätzliche Multiplikationen und Additionen. Demzufolge könnte diese Methode Anwendung in Systemen mit wenig Rechenleistung -und/oder knappen Energieressourcen finden. \ No newline at end of file +und/oder knappen Energieressourcen finden. +Die vorgestellte Methode ist ein weiteres Beispiel dafür, +wie Verfahren durch die Kenntnis der Eigenschaften einer Funktion +verbessert werden können. \ No newline at end of file diff --git a/buch/papers/laguerre/images/estimates.pdf b/buch/papers/laguerre/images/estimates.pdf index bd995de..fe48f47 100644 Binary files a/buch/papers/laguerre/images/estimates.pdf and b/buch/papers/laguerre/images/estimates.pdf differ diff --git a/buch/papers/laguerre/images/laguerre_poly.pdf b/buch/papers/laguerre/images/laguerre_poly.pdf index 21278f5..f31d81d 100644 Binary files a/buch/papers/laguerre/images/laguerre_poly.pdf and b/buch/papers/laguerre/images/laguerre_poly.pdf differ diff --git a/buch/papers/laguerre/images/rel_error_simple.pdf b/buch/papers/laguerre/images/rel_error_simple.pdf index 3212e42..0072d28 100644 Binary files a/buch/papers/laguerre/images/rel_error_simple.pdf and b/buch/papers/laguerre/images/rel_error_simple.pdf differ diff --git a/buch/papers/laguerre/images/targets.pdf b/buch/papers/laguerre/images/targets.pdf index 9514a6d..dc61c88 100644 Binary files a/buch/papers/laguerre/images/targets.pdf and b/buch/papers/laguerre/images/targets.pdf differ diff --git a/buch/papers/laguerre/main.tex b/buch/papers/laguerre/main.tex index 57a6560..91c1475 100644 --- a/buch/papers/laguerre/main.tex +++ b/buch/papers/laguerre/main.tex @@ -9,7 +9,7 @@ \chapterauthor{Patrik Müller} {\parindent0pt Die} Laguerre\--Polynome, -benannt nach Edmond Laguerre (1834 - 1886), +benannt nach Edmond Laguerre (1834 -- 1886), sind Lösungen der ebenfalls nach Laguerre benannten Differentialgleichung. Laguerre entdeckte diese Polynome, als er Approximations\-methoden für das Integral diff --git a/buch/papers/laguerre/presentation/presentation.pdf b/buch/papers/laguerre/presentation/presentation.pdf deleted file mode 100644 index 3d00de3..0000000 Binary files a/buch/papers/laguerre/presentation/presentation.pdf and /dev/null differ diff --git a/buch/papers/laguerre/presentation/sections/gamma_approx.tex b/buch/papers/laguerre/presentation/sections/gamma_approx.tex index ecd02ab..811fbfa 100644 --- a/buch/papers/laguerre/presentation/sections/gamma_approx.tex +++ b/buch/papers/laguerre/presentation/sections/gamma_approx.tex @@ -163,7 +163,7 @@ da Gauss-Quadratur nur für kleine $n$ praktischen Nutzen hat} \alpha n + \beta \\ &\approx -1.34093 n + 0.854093 +1.34154 n + 0.848786 \\ m^* &= diff --git a/buch/papers/laguerre/quadratur.tex b/buch/papers/laguerre/quadratur.tex index a494362..841bc20 100644 --- a/buch/papers/laguerre/quadratur.tex +++ b/buch/papers/laguerre/quadratur.tex @@ -3,20 +3,21 @@ % % (c) 2022 Patrik Müller, Ostschweizer Fachhochschule % -\section{Gauss-Quadratur +\section{Gauss-Quadratur% \label{laguerre:section:quadratur}} +\rhead{Gauss-Quadratur}% Die Gauss-Quadratur ist ein numerisches Integrationsverfahren, welches die Eigenschaften von orthogonalen Polynomen verwendet. -Herleitungen und Analysen der Gauss-Quadratur können im +Herleitungen und Analysen der Gauss-Quadratur können im Abschnitt~\ref{buch:orthogonal:section:gauss-quadratur} gefunden werden. Als grundlegende Idee wird die Beobachtung, dass viele Funktionen sich gut mit Polynomen approximieren lassen, verwendet. Stellt man also sicher, -dass ein Verfahren gut für Polynome funktioniert, +dass ein Verfahren gut für Polynome funktioniert, sollte es auch für andere Funktionen angemessene Resultate liefern. -Es wird ein Polynom verwendet, -welches an den Punkten $x_0 < x_1 < \ldots < x_n$ +Es wird ein Polynom verwendet, +welches an den Punkten $x_0 < x_1 < \ldots < x_n$ die Funktionwerte~$f(x_i)$ annimmt. Als Resultat kann das Integral via einer gewichteten Summe der Form \begin{align} @@ -29,25 +30,35 @@ berechnet werden. Die Gauss-Quadratur ist exakt für Polynome mit Grad $2n -1$, wenn ein Interpolationspolynom von Grad $n$ gewählt wurde. -\subsection{Gauss-Laguerre-Quadratur +\subsection{Gauss-Laguerre-Quadratur% \label{laguerre:subsection:gausslag-quadratur}} Wir möchten nun die Gauss-Quadratur auf die Berechnung von uneigentlichen Integralen erweitern, -spezifisch auf das Interval $(0, \infty)$. +spezifisch auf das Intervall~$(0, \infty)$. Mit dem vorher beschriebenen Verfahren ist dies nicht direkt möglich. -Mit einer Transformation die das unendliche Intervall $(a, \infty)$ mit -\begin{align*} -x -= -a + \frac{1 - t}{t} -\end{align*} -auf das Intervall $[0, 1]$ transformiert, -kann dies behoben werden. -Für unseren Fall gilt $a = 0$. +% Mit einer Transformation +% \begin{align*} +% x +% = +% % a + +% \frac{1 - t}{t} +% \end{align*} +% die das unendliche Intervall~$(0, \infty)$ +% auf das Intervall~$[0, 1]$ transformiert, +% kann dies behoben werden. +% % Für unseren Fall gilt $a = 0$. Das Integral eines Polynomes in diesem Intervall ist immer divergent. -Darum müssen wir das Polynom mit einer Funktion multiplizieren, -die schneller als jedes Polynom gegen $0$ geht, -damit das Integral immer noch konvergiert. +Es ist also nötig, +den Integranden durch Funktionen zu approximieren, +die genügend schnell gegen $0$ gehen. +Man kann Polynome beliebigen Grades verwenden, +wenn sie mit einer Funktion multipliziert werden, +die schneller gegen $0$ geht als jedes Polynom. +Damit stellen wir sicher, +dass das Integral immer noch konvergiert. +% Darum müssen wir das Polynom mit einer Funktion multiplizieren, +% die schneller als jedes Polynom gegen $0$ geht, +% damit das Integral immer noch konvergiert. Die Laguerre-Polynome $L_n$ schaffen hier Abhilfe, da ihre Gewichtsfunktion $w(x) = e^{-x}$ schneller gegen $0$ konvergiert als jedes Polynom. @@ -55,20 +66,32 @@ gegen $0$ konvergiert als jedes Polynom. % $L_n$ ausweiten. % Diese sind orthogonal im Intervall $(0, \infty)$ bezüglich % der Gewichtsfunktion $e^{-x}$. -Die Gleichung~\eqref{laguerre:gaussquadratur} lässt sich wie folgt -umformulieren: +Um also das Integral einer Funktion $g(x)$ im Intervall~$(0,\infty)$ zu berechen, +formt man das Integral wie folgt um: +\begin{align*} +\int_0^\infty g(x) \, dx += +\int_0^\infty f(x) e^{-x} \, dx +\end{align*} +Wir approximieren dann $f(x)$ durch ein Interpolationspolynom +wie bei der Gauss-Quadratur. +% Die Gleichung~\eqref{laguerre:gaussquadratur} lässt sich daher wie folgt +% umformulieren: +Die Gleichung~\eqref{laguerre:gaussquadratur} wird also +für die Gauss-Laguerre-Quadratur zu \begin{align} \int_{0}^{\infty} f(x) e^{-x} dx \approx \sum_{i=1}^{n} f(x_i) A_i \label{laguerre:laguerrequadratur} +. \end{align} \subsubsection{Stützstellen und Gewichte} Nach der Definition der Gauss-Quadratur müssen als Stützstellen die Nullstellen des verwendeten Polynoms genommen werden. Für das Laguerre-Polynom $L_n$ müssen demnach dessen Nullstellen $x_i$ und -als Gewichte $A_i$ die Integrale $l_i(x)e^{-x}$ verwendet werden. +als Gewichte $A_i$ die Integrale von $l_i(x) e^{-x}$ verwendet werden. Dabei sind \begin{align*} l_i(x_j) @@ -76,7 +99,7 @@ l_i(x_j) \delta_{ij} = \begin{cases} -1 & i=j \\ +1 & i=j \\ 0 & \text{sonst} \end{cases} % . @@ -97,6 +120,7 @@ des orthogonalen Polynoms $\phi_n(x)$, $\forall i =0,\ldots,n$ und \int_0^\infty w(x) \phi_n^2(x)\,dx \end{align*} dem Normalisierungsfaktor. + Wir setzen nun $\phi_n(x) = L_n(x)$ und nutzen den Vorzeichenwechsel der Laguerre-Koeffizienten aus, damit erhalten wir @@ -122,39 +146,41 @@ Für Laguerre-Polynome gilt Daraus folgt \begin{align} A_i -&= + & = - \frac{1}{n L_{n-1}(x_i) L'_n(x_i)} -. \label{laguerre:gewichte_lag_temp} +. \end{align} Nun kann die Rekursionseigenschaft der Laguerre-Polynome +\cite{laguerre:hildebrand2013introduction} +% (siehe \cite{laguerre:hildebrand2013introduction}) \begin{align*} -x L'_n(x) -&= +x L'_n(x) + & = n L_n(x) - n L_{n-1}(x) \\ -&= (x - n - 1) L_n(x) + (n + 1) L_{n+1}(x) + & = (x - n - 1) L_n(x) + (n + 1) L_{n+1}(x) \end{align*} umgeformt werden und da $x_i$ die Nullstellen von $L_n(x)$ sind, -vereinfacht sich der Term zu +vereinfacht sich die Gleichung zu \begin{align*} x_i L'_n(x_i) -&= -- n L_{n-1}(x_i) + & = +- n L_{n-1}(x_i) \\ -&= - (n + 1) L_{n+1}(x_i) + & = +(n + 1) L_{n+1}(x_i) . \end{align*} -Setzen wir das nun in \eqref{laguerre:gewichte_lag_temp} ein, +Setzen wir diese Beziehung nun in \eqref{laguerre:gewichte_lag_temp} ein, ergibt sich \begin{align} \nonumber A_i -&= + & = \frac{1}{x_i \left[ L'_n(x_i) \right]^2} \\ -&= + & = \frac{x_i}{(n+1)^2 \left[ L_{n+1}(x_i) \right]^2} . \label{laguerre:quadratur_gewichte} diff --git a/buch/papers/laguerre/references.bib b/buch/papers/laguerre/references.bib index d21009b..1a4a903 100644 --- a/buch/papers/laguerre/references.bib +++ b/buch/papers/laguerre/references.bib @@ -10,15 +10,13 @@ series={Dover Books on Mathematics}, year={2013}, publisher={Dover Publications}, - pages = {389} + pages = {389-392} } @book{laguerre:abramowitz+stegun, added-at = {2008-06-25T06:25:58.000+0200}, address = {New York}, author = {Abramowitz, Milton and Stegun, Irene A.}, - biburl = {https://www.bibsonomy.org/bibtex/223ec744709b3a776a1af0a3fd65cd09f/a_olympia}, - description = {BibTeX - Wikipedia, the free encyclopedia}, edition = {ninth Dover printing, tenth GPO printing}, interhash = {d4914a420f489f7c5129ed01ec3cf80c}, intrahash = {23ec744709b3a776a1af0a3fd65cd09f}, diff --git a/buch/papers/laguerre/scripts/estimates.py b/buch/papers/laguerre/scripts/estimates.py index 21551f3..1acd7f7 100644 --- a/buch/papers/laguerre/scripts/estimates.py +++ b/buch/papers/laguerre/scripts/estimates.py @@ -15,7 +15,7 @@ if __name__ == "__main__": ) N = 200 - ns = np.arange(2, 13) + ns = np.arange(1, 13) step = 1 / (N - 1) x = np.linspace(step, 1 - step, N + 1) diff --git a/buch/papers/laguerre/scripts/laguerre_poly.py b/buch/papers/laguerre/scripts/laguerre_poly.py index 9700ab4..05db5d3 100644 --- a/buch/papers/laguerre/scripts/laguerre_poly.py +++ b/buch/papers/laguerre/scripts/laguerre_poly.py @@ -46,7 +46,7 @@ if __name__ == "__main__": ax.set_yticks(get_ticks(-ylim, ylim), minor=True) ax.set_yticks(get_ticks(-step * (ylim // step), ylim, step)) ax.set_ylim(-ylim, ylim) - ax.set_ylabel(r"$y$", y=0.95, labelpad=-18, rotation=0, fontsize="large") + ax.set_ylabel(r"$y$", y=0.95, labelpad=-14, rotation=0, fontsize="large") ax.legend(ncol=2, loc=(0.125, 0.01), fontsize="large") diff --git a/buch/papers/laguerre/scripts/rel_error_simple.py b/buch/papers/laguerre/scripts/rel_error_simple.py index 686500b..e1ea36a 100644 --- a/buch/papers/laguerre/scripts/rel_error_simple.py +++ b/buch/papers/laguerre/scripts/rel_error_simple.py @@ -18,7 +18,7 @@ if __name__ == "__main__": # Simple / naive xmin = -5 - xmax = 30 + xmax = 25 ns = np.arange(2, 12, 2) ylim = np.array([-11, 6]) x = np.linspace(xmin + ga.EPSILON, xmax - ga.EPSILON, 400) diff --git a/buch/papers/laguerre/scripts/targets.py b/buch/papers/laguerre/scripts/targets.py index 3bc7f52..69f94ba 100644 --- a/buch/papers/laguerre/scripts/targets.py +++ b/buch/papers/laguerre/scripts/targets.py @@ -38,7 +38,7 @@ if __name__ == "__main__": ) N = 200 - ns = np.arange(2, 13) + ns = np.arange(1, 13) bests = find_best_loc(N, ns=ns) -- cgit v1.2.1 From 92f8c87eec2b11e6900c09c252bea77cb35f4f25 Mon Sep 17 00:00:00 2001 From: daHugen Date: Sat, 23 Jul 2022 18:12:37 +0200 Subject: made some changes, now the document is ready for a second pull-request --- buch/papers/lambertw/teil4.tex | 167 +++++++++++++++++++++++++---------------- 1 file changed, 104 insertions(+), 63 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index 78314a1..fe7ed49 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -136,7 +136,7 @@ Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambert &= 0. \label{lambertw:DGLohneInt} \end{align} -Nun sind wir unserem Ziel eine weiteren Schritt näher. Die Gleichung \eqref{lambertw:DGLohneInt} mag auf den ersten Blick nicht gerade einfach sein, aber im Nächsten Abschnitt werden wir sehen, dass sie relativ einfach zu lösen ist. +Nun sind wir unserem Ziel einen weiteren Schritt näher. Die Gleichung \eqref{lambertw:DGLohneInt} mag auf den ersten Blick nicht gerade einfach sein, aber im Nächsten Abschnitt werden wir sehen, dass sie relativ einfach zu lösen ist. \subsection{DGL lösen \label{lambertw:subsection:DGLloes}} @@ -147,7 +147,7 @@ mittels der Substitution \(y^{\prime} = u\) in eine DGL erster Ordnung umgewande = 0. \label{lambertw:DGLmitU} \end{equation} -Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar ist, also werde ich direkt zur Lösung \eqref{lambertw:loesDGLmitU} übergehen: +Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar ist, aus diesem Grund werde ich direkt zur Lösung \eqref{lambertw:loesDGLmitU} übergehen: \begin{align} \operatorname{arsinh}(u) &= @@ -157,7 +157,7 @@ Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar \operatorname{sinh}(\operatorname{ln}(x) + C). \label{lambertw:loesDGLmitU} \end{align} -Indem man die Substitution rückgängig macht, erhält man eine weitere DGL erster Ordnung die bereits separiert ist und erhält folgende Lösung: +Indem man die Substitution rückgängig macht, erhält man eine weitere DGL erster Ordnung die bereits separiert ist und erhält folgende Gleichung: \begin{equation} y^{\prime} = @@ -205,10 +205,9 @@ Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, w \end{itemize} Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, welche durch die Grafik \ref{lambertw:BildFunkLoes} repräsentiert wurde. Nun stellt sich die Frage wie die Kurve wirklich aussieht. Dies wird im folgenden Abschnitt \ref{lambertw:subsection:AllgLoes} behandelt. --------------------------------Ab hier muss im Kapitel 12.2 noch einiges bearbeitet werden----------------- \subsection{Anfangswertproblem \label{lambertw:subsection:AllgLoes}} -Wie üblich bei der Suche nach einer exakten Lösung, kommt ein Anfangswertproblem auf. Um dies zu lösen, müssen wir zuerst die Anfangswerte definieren. Da wir hier das Problem allgemein lösen, ergeben sich folgende zwei Anfangswerte: +Wie üblich bei der Suche nach einer exakten Lösung, kommt ein Anfangswertproblem vor. Um dieses zu lösen, müssen wir zuerst die Anfangswerte definieren. Da wir das Problem allgemein lösen wollen, ergeben sich folgende zwei Anfangswerte: \begin{equation} y(x)\big \vert_{t=0} = @@ -226,9 +225,9 @@ und \frac{y_0}{x_0}. \label{lambertw:eq2Anfangswert} \end{equation} -Der zweite Anfangswert \eqref{lambertw:eq2Anfangswert} mag nicht grade offensichtlich sein. Die Erklärung dafür ist aber simpel: Der Verfolger wird zum Zeitpunkt \(t=0\) in Richtung Koordinatenursprung bewegen wollen, wo sich das Ziel befindet. Somit entsteht das Steigungsdreieck \(\Delta x = x_0\) und \(\Delta y = y_0\). +Der zweite Anfangswert \eqref{lambertw:eq2Anfangswert} mag nicht grade offensichtlich sein. Die Erklärung dafür ist aber simpel: Der Verfolger wird sich zum Zeitpunkt \(t=0\) in Richtung Koordinatenursprung bewegen wollen, wo sich das Ziel befindet. Somit entsteht das Steigungsdreieck mit \(\Delta x = x_0\) und \(\Delta y = y_0\). -Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches ich nicht unbedingt eingehen möchte. Zur Vollständigkeit und Nachvollziehbarkeit werde ich aber das Gleichungssystem \eqref{lambertw:eqGleichungssystem} präsentieren, welches notwendig ist um das Anfangswertproblem zu lösen, sowie auch die allgemeine Lösung \eqref{lambertw:eqAllgLoes} die sich nach dem einsetzen der Koeffizienten \(C_1\) und \(C_2\) ergibt. +Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches ich nicht unbedingt eingehen möchte. Zur Vollständigkeit und Nachvollziehbarkeit, werde ich aber das Gleichungssystem \eqref{lambertw:eqGleichungssystem} präsentieren, welches notwendig ist um das Anfangswertproblem zu lösen, sowie auch die allgemeine Lösung \eqref{lambertw:eqAllgLoes} die sich nach dem einsetzen der Koeffizienten \(C_1\) und \(C_2\) in die Funktion \eqref{lambertw:funkLoes} ergibt. \begin{itemize} \item @@ -245,83 +244,125 @@ Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches \label{lambertw:eqGleichungssystem} \end{subequations} \item - Allgemeine Funktion: + Die allgemeine Funktion: \begin{equation} - -4t + y(x) = - \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)ln\left(\eta\right). + \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right)-r_0+3y_0\right) \label{lambertw:eqAllgLoes} \end{equation} - Wobei aus Übersichtlichkeitsgründen \(\eta\) und \(r_0\) wie folgt definiert wurden: + Damit die Funkion \eqref{lambertw:eqAllgLoes} trotzdem noch übersichtlich bleibt, wurden \(\eta\) und \(r_0\) wie folgt definiert: \begin{equation} \eta = - \left(\frac{x}{x_0}\right)^2 + \left(\frac{x}{x_0}\right)^2 \:\:\text{und}\:\: r_0 = \sqrt{x_0^2+y_0^2}. \end{equation} \end{itemize} +Diese neue allgemein Funktion \eqref{lambertw:eqAllgLoes} weist immer noch die selbe Struktur wie die vorherig hergeleitete Funktion \eqref{lambertw:funkLoes} auf, einerseits einen quadratischen Teil der in \(\eta\) enthalten ist, anderseits den \(\operatorname{ln}\)-Teil. Aus dieser Ähnlichkeit kann geschlossen werden, dass sich \eqref{lambertw:eqAllgLoes} auf eine ähnliche Art verhalten wird. - - -Leitet man die Funktion \eqref{lambertw:funkLoes} nach \(x\) ab und setzt die Anfangsbedingungen ein, dann ergibt sich folgendes Gleichungssystem: - -... Mit folgenden Formeln geht es weiter: -\begin{align*} - \eta - &= - \left(\frac{x}{x_0}\right)^2 - \:;\: - r_0 - = - \sqrt{x_0^2+y_0^2} \\ - y - &= - \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) \\ - y^\prime - &= - \frac{1}{2}\left(\left(y_0+r_0\right)\frac{x}{x_0^2}+\left(r_0-y_0\right)\frac{1}{x}\right) \\ - -4t - &= - \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)ln\left(\eta\right) -\end{align*} +Nun sind wir soweit, dass wir eine \(y(x)\)-Beziehung für beliebige Anfangswerte darstellen können, unser erstes Ziel wurde erreicht. Ist das alles? Nein, wir können einen Schritt weiter gehen und uns Fragen: Ist es analytisch möglich herauszufinden, wo sich Verfolger und Ziel zu jedem Zeitpunkt befinden? Dieser Frage werden wir im nächsten Abschnitt nachgehen. \subsection{Funktion nach der Zeit \label{lambertw:subsection:FunkNachT}} -\begin{align*} +Lieber Leser sei mir nicht böse, aber in diesem Abschnitt werde ich ein wenig mehr bei den algebraischen Umformungen ins Detail gehen. Dies hat auch einen bestimmten Grund, ich möchte den Einsatz einer speziellen Funktion aufzeigen, sowie auch wann und wieso diese vorkommt. Welche spezielle Funktion? Fragst du dich wahrscheinlich in diesem Moment. Nun, um diese Frage zu kurz zu beantworten, es ist "YouTube's favorite special function" laut dem Mathematiker Michael Penn, die Lambert-W-Funktion \(W(x)\) welche übrigens im Kapitel \ref{buch:section:lambertw} bereits beschrieben wurde. + +Also fangen wir an. Der erste Schritt ist es herauszufinden, wie die Zeitabhängigkeit wieder hinein gebracht werden kann. Dafür greifen wir auf die letzte Gleichung zu, in welcher \(t\) noch enthalten war, und zwar DGL \eqref{lambertw:DGLmitT}, welche zur Übersichtlichkeit hier nochmals aufgeführt wird: +\begin{equation} + x y^{\prime} + t - y + = 0. + \label{lambertw:eqDGLmitTnochmals} +\end{equation} +Wie in \eqref{lambertw:eqDGLmitTnochmals} zu sehen ist, werden \(y\) und deren Ableitung \(y^{\prime}\) benötigt, diese sind: +\begin{subequations} + \begin{align} + y + &= + \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right)-r_0+3y_0\right), \\ + \label{lambertw:eqFunkUndAbleit1} + y^\prime + &= + \frac{1}{2}\left(\left(y_0+r_0\right)\frac{x}{x_0^2}+\left(r_0-y_0\right)\frac{1}{x}\right). + \end{align} + \label{lambertw:eqFunkUndAbleit} +\end{subequations} +Wenn man diese Gleichungen \ref{lambertw:eqFunkUndAbleit} in die DGL \label{lambertw:eqDGLmitTnochmals} einfügt, vereinfacht und nach \(t\) auflöst, dann ergibt sich folgenden Ausdruck: +\begin{equation} + -4t + = + \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right). + \label{lambertw:eqFunkUndAbleitEingefuegt} +\end{equation} +In einem nächsten Schritt wird alles mit \(x\) auf die eine Seite gebracht, der Rest auf die andere Seite und anschliessend beidseitig exponentiert, was wie folgt aussieht: +\begin{align} -4t+\left(y_0+r_0\right) &= - \left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right) \\ - e^{-4t+\left(y_0+r_0\right)} + \left(y_0+r_0\right)\eta+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right), \\ + e^{\displaystyle -4t+\left(y_0+r_0\right)} &= - e^{\left(y_0+r_0\right)\eta}\cdot\eta^{\left(r_0-y_0\right)} \\ - e^{\frac{-4t}{r_0-y_0}+\frac{y_0+r_0}{r_0-y_0}} - &= - e^{\frac{y_0+r_0}{r_0-y_0}\eta}\cdot\eta\ \\ + e^{\displaystyle \left(y_0+r_0\right)\eta}\cdot\eta^{\displaystyle \left(r_0-y_0\right)}. + \label{lambertw:eqMitExp} +\end{align} +Auf dem rechten Term von \eqref{lambertw:eqMitExp} beginnen wir langsam eine ähnliche Struktur wie \(\eta e^\eta\) zu erkennen, dies schreit nach der Struktur die benötigt wird um \(\eta\) mittels der Lambert-W-Funktion \(W(x)\) zu erhalten. Dies macht durchaus Sinn, wenn wir die Funktion \(x(t)\) finden wollen und \(W(x)\) die Umkehrfunktion von \(x e^x\) ist. + +Die erste Sache die uns in \eqref{lambertw:eqMitExp} stört ist, dass \(\eta\) als Potenz da steht. Dieses Problem können wir loswerden, indem wir beidseitig mit \(\:\displaystyle \frac{1}{r_0-y_0}\:\) potenzieren: +\begin{equation} + e^{\displaystyle \frac{-4t}{r_0-y_0}+\frac{y_0+r_0}{r_0-y_0}} + = + \eta\cdot e^{\displaystyle \frac{y_0+r_0}{r_0-y_0}\eta} . + \label{lambertw:eqOhnePotenz} +\end{equation} +Das nächste Problem auf welches wir in \eqref{lambertw:eqOhnePotenz} treffen ist, dass \(\eta\) nicht alleine im Exponent steht. Dies kann elegant mit folgender Substitution gelöst werden: +\begin{equation} \chi - &= - \frac{y_0+r_0}{r_0-y_0}; \cdot\chi \\ - \chi\cdot e^{\chi-\frac{4t}{r_0-y_0}} - &= - \chi\eta\cdot e^{\chi\eta} \\ - W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) - &= - \chi\eta \\ - \frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi} - &= - \eta \\ - \frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi} - &= - \left(\frac{x}{x_0}\right)^2 \\ - x\left(t\right) - &= - \sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} -\end{align*} + = + \frac{y_0+r_0}{r_0-y_0}. + \label{lambertw:eqChiSubst} +\end{equation} +Es gäbe natürlich andere Substitutionen wie z.B. +\[\displaystyle \chi=\frac{y_0+r_0}{r_0-y_0}\cdot\eta,\] +die auf das selbe Ergebnis führen würden, aber \eqref{lambertw:eqChiSubst} liefert in einem Schritt die kompakteste Lösung. Also fahren wir mit der Substitution \eqref{lambertw:eqChiSubst} weiter, setzen diese in die Gleichung \eqref{lambertw:eqOhnePotenz} ein und multiplizieren beidseitig mit \(\chi\). Daraus erhalten wir folgende Gleichung: +\begin{equation} + \chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}} + = + \chi\eta\cdot e^{\displaystyle \chi\eta}. + \label{lambertw:eqNachSubst} +\end{equation} +Schön oder? Nun sind wir endlich soweit, dass wir die angedeutete Lambert-W-Funktion \(W(x)\)einsetzen können. Wenn wir beidseitig \(W(x)\) anwenden, dann erhalten wir folgenden Ausdruck: \begin{equation} - y(t) + W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right) = - \frac{1}{4}\left(\left(y_0+r_0\right)\frac{W\left(\chi\cdot e^{\chi\ -\ \frac{4t}{r_0-y_0}}\right)}{\chi}+\left(r_0-y_0\right)\cdot\mathrm{ln}\ \left(\frac{W\left(\chi\cdot e^{\chi\ -\ \frac{4t}{r_0-y_0}}\right)}{\chi}\right)-r_0+3y_0\right) - \label{lambertw:funkNachT} + \chi\eta \end{equation} +Nach dem Auflösen nach \(x\) welches in \(\eta\) enthalten ist, erhalten wir die gesuchte \(x(t)\)-Funktion \eqref{lambertw:eqFunkXNachT}. Dieses \(x(t)\) in Kombination mit \eqref{lambertw:eqFunkUndAbleit1} liefert die Position des Verfolgers zu jedem Zeitpunkt. Das Gleichungspaar \eqref{lambertw:eqFunktionenNachT}, besteht aus folgenden Gleichungen: +\begin{subequations} + \begin{align} + \label{lambertw:eqFunkXNachT} + x(t) + &= + x_0\cdot\sqrt{\frac{W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right)}{\chi}}, \\ + \label{lambertw:eqFunkYNachT} + y(x(t)) + = + y(t) + &= + \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right) + \end{align} + \label{lambertw:eqFunktionenNachT} +\end{subequations} +Nun haben wir unser letztes Ziel erreicht und sind in der Lage eine Verfolgung rechnerisch sowie graphisch zu repräsentieren. + +Wir sind aber noch nicht ganz fertig, ich muss gestehen, dass ich in diesem Abschnitt einen wichtigen Teil verschwiegen habe. Und zwar wieso, dass ich schon bei der Gleichung \eqref{lambertw:eqFunkUndAbleitEingefuegt} wusste, dass man nach einigen Umformungen die Lambert-W-Funktion eingesetzt werden kann. +Der Grund dafür ist die Struktur +\begin{equation} + y + = + p(x) +\operatorname{ln}(x), + \label{lambertw:eqEinsatzLambW} +\end{equation} +bei welcher \(p(x)\) eine beliebige Potenz von \(x\) darstellt. + +Jedes mal wenn \(x\) gesucht ist und in einer Struktur der Art \eqref{lambertw:eqEinsatzLambW} vorkommt, dann kann mit ein paar Umformungen die Struktur \(f(x)e^{f(x)}\) erzielt werden. Wie bereits in diesem Abschnitt \ref{lambertw:subsection:FunkNachT} gezeigt wurde, kann \(x\) nun mittels der \(W(x)\)-Funktion aufgelöst werden. Erstaunlicherweise ist \eqref{lambertw:eqEinsatzLambW} eine Struktur die oftmals vorkommt, was die Lambert-W-Funktion so wichtig macht. \ No newline at end of file -- cgit v1.2.1 From 07b8e7dcf04243e04d7bc1e7b92846fb6a26278e Mon Sep 17 00:00:00 2001 From: daHugen Date: Sat, 23 Jul 2022 18:24:01 +0200 Subject: corrected something --- buch/papers/lambertw/teil4.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index fe7ed49..84a0ec7 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -335,7 +335,7 @@ Schön oder? Nun sind wir endlich soweit, dass wir die angedeutete Lambert-W-Fun \begin{equation} W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right) = - \chi\eta + \chi\eta. \end{equation} Nach dem Auflösen nach \(x\) welches in \(\eta\) enthalten ist, erhalten wir die gesuchte \(x(t)\)-Funktion \eqref{lambertw:eqFunkXNachT}. Dieses \(x(t)\) in Kombination mit \eqref{lambertw:eqFunkUndAbleit1} liefert die Position des Verfolgers zu jedem Zeitpunkt. Das Gleichungspaar \eqref{lambertw:eqFunktionenNachT}, besteht aus folgenden Gleichungen: \begin{subequations} @@ -349,7 +349,7 @@ Nach dem Auflösen nach \(x\) welches in \(\eta\) enthalten ist, erhalten wir di = y(t) &= - \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right) + \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right). \end{align} \label{lambertw:eqFunktionenNachT} \end{subequations} -- cgit v1.2.1 From f203a63e8310dac852efccd3ed957362b0ed0761 Mon Sep 17 00:00:00 2001 From: Yanik Kuster Date: Sat, 23 Jul 2022 19:39:26 +0200 Subject: Adjusted x(t), due to earlier error --- buch/papers/lambertw/teil1.tex | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index b46ed12..fa7deb1 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -15,21 +15,20 @@ Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel bet %\subsection{Ziel erreichen (überarbeiten) %\label{lambertw:subsection:ZielErreichen}} Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. -Wir verwenden die hergeleiteten Gleichungen für Startbedingung im ersten Quadranten +Wir verwenden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} für Startbedingung im ersten Quadranten \begin{align*} x\left(t\right) &= - \sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} \\ - y(x) + x_0\cdot\sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} \\ + y(t) &= - \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) \\ + \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right)\\ \chi &= \frac{r_0+y_0}{r_0-y_0}\\ \eta &= - \left(\frac{x}{x_0}\right)^2 - \\ + \left(\frac{x}{x_0}\right)^2\\ r_0 &= \sqrt{x_0^2+y_0^2} \text{.}\\ @@ -68,29 +67,28 @@ und der Verfolger durch &= x(t) = - \sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} + x_0\sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} \\ - v \cdot t + t &= y(t) = - \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)ln\left(\eta\right)-r_0+3y_0\right) + \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right) \\ \end{align*} % , welche Beide gleichzeitig erfüllt sein müssen, damit das Ziel erreicht wurde. Zuerst wird die Bedingung der x-Koordinate betrachtet. -Diese kann durch quadrieren und anschliessendes multiplizieren von $\chi$ vereinfacht werden. -Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. -Die Gleichung - +Diese kann durch dividieren durch $x_0$, anschliessendes quadrieren und multiplizieren von $\chi$ vereinfacht werden. Daraus folgt \begin{equation} - 0 - = - W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) + 0 + = + W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) + \text{.} \end{equation} % -entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei +Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. +Diese Gleichung entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei \begin{equation*} W(0)=0 @@ -167,3 +165,5 @@ Da sowohl der Betrag als auch $a_{min}$ grösser null sind, bleibt die Aussage u + + -- cgit v1.2.1 From bed0b6e09967200014ab83444a8b4316f285781a Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Mon, 25 Jul 2022 00:27:05 +0200 Subject: 0f1, inhalt struktur --- buch/papers/0f1/main.tex | 32 ++++-------- buch/papers/0f1/teil0.tex | 31 +++++------- buch/papers/0f1/teil1.tex | 121 ++++++++++++++++++++++++++++------------------ buch/papers/0f1/teil2.tex | 103 ++++++++++++++++++++++++++------------- buch/papers/0f1/teil3.tex | 85 +++++++++++++++++++------------- 5 files changed, 215 insertions(+), 157 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/main.tex b/buch/papers/0f1/main.tex index 264ad56..b8cdc21 100644 --- a/buch/papers/0f1/main.tex +++ b/buch/papers/0f1/main.tex @@ -3,29 +3,17 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Thema\label{chapter:0f1}} -\lhead{Thema} +% + + + +\chapter{Algorithmus zur Berechnung von $\mathstrut_0F_1$\label{chapter:0f1}} +\lhead{Algorithmus zur Berechnung von $\mathstrut_0F_1$} \begin{refsection} -\chapterauthor{Hans Muster} - -Ein paar Hinweise für die korrekte Formatierung des Textes -\begin{itemize} -\item -Absätze werden gebildet, indem man eine Leerzeile einfügt. -Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet. -\item -Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende -Optionen werden gelöscht. -Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen. -\item -Beginnen Sie jeden Satz auf einer neuen Zeile. -Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen -in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt -anzuwenden. -\item -Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren -Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. -\end{itemize} +\chapterauthor{Fabian Dünki} + + + \input{papers/0f1/teil0.tex} \input{papers/0f1/teil1.tex} diff --git a/buch/papers/0f1/teil0.tex b/buch/papers/0f1/teil0.tex index 9087808..bfc265f 100644 --- a/buch/papers/0f1/teil0.tex +++ b/buch/papers/0f1/teil0.tex @@ -1,22 +1,15 @@ % -% einleitung.tex -- Beispiel-File für die Einleitung +% einleitung.tex -- Einleitung % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 0\label{0f1:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{0f1:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. - - +\section{Ausgangslage\label{0f1:section:ausgangslage}} +\rhead{Ausgangslage} +Die Hypergeometrische Funktion $\mathstrut_0F_1$ wird in vielen Funktionen als Basisfunktion benutzt, +zum Beispiel um die Airy Funktion zu berechnen. +In der GNU Scientific Library \cite{library-gsl} +ist die Funktion $\mathstrut_0F_1$ vorhanden. +Allerdings wirft die Funktion, bei negativen Übergabenwerten wie zum Beispiel \verb+gsl_sf_hyperg_0F1(1, -1)+, eine Exception. +Bei genauerer Untersuchung hat sich gezeigt, dass die Funktion je nach Betriebssystem funktioniert oder eben nicht. +So kann die Funktion unter Windows fehlerfrei aufgerufen werden, beim Mac OS und Linux sind negative Übergabeparameter im Moment nicht möglich. +Ziel dieser Arbeit war es zu evaluieren, ob es mit einfachen mathematischen Operationen möglich ist, die Hypergeometrische Funktion $\mathstrut_0F_1$ zu implementieren. diff --git a/buch/papers/0f1/teil1.tex b/buch/papers/0f1/teil1.tex index aca84d2..910e8bb 100644 --- a/buch/papers/0f1/teil1.tex +++ b/buch/papers/0f1/teil1.tex @@ -1,55 +1,80 @@ % -% teil1.tex -- Beispiel-File für das Paper +% teil1.tex -- Mathematischer Hintergrund % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 1 -\label{0f1:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt -\begin{equation} -\int_a^b x^2\, dx +\section{Mathematischer Hintergrund +\label{0f1:section:mathHintergrund}} +\rhead{Mathematischer Hintergrund} + +\subsection{Hypergeometrische Funktion $\mathstrut_0F_1$ +\label{0f1:subsection:0f1}} +Wie in Kapitel \ref{buch:rekursion:section:hypergeometrische-funktion} beschrieben, +wird die Funktion $\mathstrut_0F_1$ folgendermassen definiert. +\begin{definition} + \label{0f1:rekursion:hypergeometrisch:def} + Die hypergeometrische Funktion + $\mathstrut_0F_1$ ist definiert durch die Reihe + \[ + \mathstrut_0F_1 + \biggl( + \begin{matrix} + \\ + b_1 + \end{matrix} + ; + x + \biggr) + = + \mathstrut_0F_1(;b_1;x) + = + \sum_{k=0}^\infty + \frac{1}{(b_1)_k}\frac{x^k}{k!}. + \] +\end{definition} + + +\subsection{Airy Funktion +\label{0f1:subsection:airy}} +Wie in \ref{buch:differentialgleichungen:section:hypergeometrisch} dargestellt, ist die Airy-Differentialgleichung +folgendermassen definiert. +\begin{definition} + y'' - xy = 0 + \label{0f1:airy:eq:differentialgleichung} +\end{definition} + +Daraus ergibt sich wie in Aufgabe~\ref{503} gefundenen Lösungen der +Airy-Differentialgleichung als hypergeometrische Funktionen. + + +\begin{align*} +y_1(x) += +\sum_{k=0}^\infty +\frac{1}{(\frac23)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k += +\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac23\end{matrix};\frac{x^3}{9} +\biggr). +\\ +y_2(x) = -\left[ \frac13 x^3 \right]_a^b +\sum_{k=0}^\infty +\frac{1}{(\frac43)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k = -\frac{b^3-a^3}3. -\label{0f1:equation1} -\end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. - -Et harum quidem rerum facilis est et expedita distinctio -\ref{0f1:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{0f1:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. +x\cdot\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac43\end{matrix}; +\frac{x^3}{9} +\biggr). +\qedhere +\end{align*} +\begin{figure} + \centering + \includegraphics{papers/0f1/images/airy.pdf} + \caption{Plot der Lösungen der Airy-Differentialgleichung $y''-xy=0$ + zu den Anfangsbedingungen $y(0)=1$ und $y'(0)=0$ in {\color{red}rot} + und $y(0)=0$ und $y'(0)=1$ in {\color{blue}blau}. + \label{0f1:airy:plot:vorgabe}} +\end{figure} \ No newline at end of file diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index 804d11b..07e17c0 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -1,40 +1,75 @@ % -% teil2.tex -- Beispiel-File für teil2 +% teil2.tex -- Umsetzung in C Programmen % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 2 +\section{Umsetzung \label{0f1:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{Umsetzung} +Zur Umsetzung wurden drei Ansätze gewählt und +Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. +\subsection{Potenzreihe +\label{0f1:subsection:potenzreihe}} +Die naheliegendste Lösung ist die Programmierung der Potenzreihe. +\begin{equation} + \label{0f1:rekursion:hypergeometrisch:eq} + \mathstrut_0F_1(;b;z) + = + \sum_{k=0}^\infty + \frac{z^k}{(b)_k \cdot k!} +\end{equation} + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:potenzreihe}]{papers/0f1/listings/potenzreihe.c} + +\subsection{Kettenbruch +\label{0f1:subsection:kettenbruch}} +Ein endlicher Kettenbruch ist ein Bruch der Form +\begin{equation} +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} +\end{equation} +in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen +darstellen. + +{\color{red}TODO: Bessere Beschreibung mit Verknüpfung zur Potenzreihe} + +%Gauss hat durch + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}]{papers/0f1/listings/kettenbruchIterativ.c} +\subsection{Rekursionsformel +\label{0f1:subsection:rekursionsformel}} +Wesentlich effizienter zur Berechnung eines Kettenbruches ist die Rekursionsformel. + +\begin{align*} +\frac{A_n}{B_n} += +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} +\end{align*} + +Die Berechnung von $A_n, B_n$ kann man auch ohne die Matrizenschreibweise +aufschreiben: +\begin{itemize} +\item Start: +\begin{align*} +A_{-1} &= 0 & A_0 &= a_0 \\ +B_{-1} &= 1 & B_0 &= 1 +\end{align*} +$\rightarrow$ 0-te Näherung: $\displaystyle\frac{A_0}{B_0} = a_0$ +\item Schritt $k\to k+1$: +\[ +\begin{aligned} +k &\rightarrow k + 1: +& +A_{k+1} &= A_{k-1} \cdot b_k + A_k \cdot a_k \\ +&& +B_{k+1} &= B_{k-1} \cdot b_k + B_k \cdot a_k +\end{aligned} +\] +\item +Näherungsbruch $n$: \qquad$\displaystyle\frac{A_n}{B_n}$ +\end{itemize} +{\color{red}TODO: Verweis Numerik} + + +\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchRekursion}]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index 25472cb..dca61f8 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -1,40 +1,57 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% teil3.tex -- Resultate und Ausblick % -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Teil 3 +\section{Resultate \label{0f1:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? - -\subsection{De finibus bonorum et malorum -\label{0f1:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. +\rhead{Resultate} +Im Verlauf des Seminares hat sich gezeigt, +das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. +So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen x in der Funktion $\mathstrut_0F_1(;b;x)$. +Ebenso wird, je grösser der Wert x wird $\mathstrut_0F_1(;b;x)$, desto mehr weichen die berechneten Resultate +von den erwarteten ab. +{\color{red}TODO cite wolfram alpha rechner} + +\subsection{Auswertung +\label{0f1:subsection:auswertung}} +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} + \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion}. + \label{0f1:ausblick:plot:airy:konvergenz}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzPositiv.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \label{0f1:ausblick:plot:konvergenz:positiv}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzNegativ.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \label{0f1:ausblick:plot:konvergenz:negativ}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} + \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library}. + \label{0f1:ausblick:plot:airy:stabilitaet}} +\end{figure} + +\begin{itemize} + \item Negative Zahlen sind sowohl für die Potenzreihe als auch für den Kettenbruch ein Problem. + \item Die Potenzreihe hat das Problem, je tiefer die Rekursionstiefe, desto mehr machen die Brüche ein Problem. Also der Nenner mit der Fakultät und dem Pochhammer Symbol. + \item Die Rekursionformel liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. +\end{itemize} + + +\subsection{Ausblick +\label{0f1:subsection:ausblick}} + -- cgit v1.2.1 From c558a668bcc6d820c489dad980dc0f8f83acdbde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 25 Jul 2022 08:33:08 +0200 Subject: fix brace-problem --- buch/papers/0f1/teil3.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index dca61f8..44a4600 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -18,28 +18,28 @@ von den erwarteten ab. \begin{figure} \centering \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} - \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion}. + \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion. \label{0f1:ausblick:plot:airy:konvergenz}} \end{figure} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzPositiv.pdf} - \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. \label{0f1:ausblick:plot:konvergenz:positiv}} \end{figure} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzNegativ.pdf} - \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat}. + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. \label{0f1:ausblick:plot:konvergenz:negativ}} \end{figure} \begin{figure} \centering \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} - \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library}. + \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library. \label{0f1:ausblick:plot:airy:stabilitaet}} \end{figure} -- cgit v1.2.1 From 7d01dd49954a2f6c1c2b662af1c01f3928ddb827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20M=C3=BCller?= Date: Mon, 25 Jul 2022 10:06:45 +0200 Subject: Add missing explanations, correct typos, mention sign change of LP earlier --- buch/papers/laguerre/definition.tex | 36 ++++----- buch/papers/laguerre/eigenschaften.tex | 3 +- buch/papers/laguerre/gamma.tex | 89 ++++++++++++---------- buch/papers/laguerre/main.tex | 21 ++--- .../presentation/sections/gamma_approx.tex | 2 +- buch/papers/laguerre/quadratur.tex | 19 +++-- 6 files changed, 93 insertions(+), 77 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/laguerre/definition.tex b/buch/papers/laguerre/definition.tex index e2062d2..61549e0 100644 --- a/buch/papers/laguerre/definition.tex +++ b/buch/papers/laguerre/definition.tex @@ -4,15 +4,14 @@ % (c) 2022 Patrik Müller, Ostschweizer Fachhochschule % \section{Herleitung% -% \section{Einleitung -% \section{Definition -\label{laguerre:section:definition}} + % \section{Einleitung + % \section{Definition + \label{laguerre:section:definition}} \rhead{Definition}% In einem ersten Schritt möchten wir die Laguerre-Polynome aus der Laguerre-\-Differentialgleichung herleiten. -Zudem möchten wir die Lösung auch auf -die assoziierten Laguerre-Polynome ausweiten. -Im Anschluss möchten wir dann noch die Orthogonalität dieser Polynome beweisen. +Zudem werden wir die Lösung auf die assoziierten Laguerre-Polynome ausweiten. +Im Anschluss soll dann noch die Orthogonalität dieser Polynome bewiesen werden. \subsection{Assoziierte Laguerre-Differentialgleichung} Die assoziierte Laguerre-Differentialgleichung ist gegeben durch @@ -32,14 +31,14 @@ zuerst von Yacovlevich Sonine (1849 - 1915) beschrieben, aber aufgrund ihrer Ähnlichkeit nach Laguerre benannt. Die klassische Laguerre-Diffentialgleichung erhält man, wenn $\nu = 0$. -{\subsection{Potenzreihenansatz} +\subsection{Potenzreihenansatz% \label{laguerre:subsection:potenzreihenansatz}} Hier wird die assoziierte Laguerre-Differentialgleichung verwendet, weil die Lösung mit derselben Methode berechnet werden kann. Zusätzlich erhält man aber die Lösung für den allgmeinen Fall. Wir stellen die Vermutung auf, dass die Lösungen orthogonale Polynome sind. -Die Orthogonalität der Lösung werden wir im +Die Orthogonalität der Lösung werden wir im Abschnitt~\ref{laguerre:subsection:orthogonal} beweisen. Zur Lösung von \eqref{laguerre:dgl} verwenden wir aufgrund der getroffenen Vermutungen einen Potenzreihenansatz. @@ -49,7 +48,7 @@ Der Potenzreihenansatz ist gegeben als % erscheint dieser Ansatz sinnvoll. \begin{align*} y(x) -& = + & = \sum_{k=0}^\infty a_k x^k % \\ . @@ -57,13 +56,13 @@ y(x) Für die 1. und 2. Ableitungen erhalten wir \begin{align*} y'(x) -& = + & = \sum_{k=1}^\infty k a_k x^{k-1} = \sum_{k=0}^\infty (k+1) a_{k+1} x^k \\ y''(x) -& = + & = \sum_{k=2}^\infty k (k-1) a_k x^{k-2} = \sum_{k=1}^\infty (k+1) k a_{k+1} x^{k-1} @@ -71,7 +70,7 @@ y''(x) \end{align*} \subsection{Lösen der Laguerre-Differentialgleichung} -Setzt man nun den Potenzreihenansatz in +Setzt man nun den Potenzreihenansatz in \eqref{laguerre:dgl} %die Differentialgleichung ein, @@ -106,7 +105,8 @@ denn für $k=n$ wird $a_{n+1} = 0$ und damit auch $a_{n+2}=a_{n+3}=\ldots=0$. Aus %der Rekursionsbeziehung \eqref{laguerre:rekursion} ist zudem ersichtlich, dass $a_0 \neq 0$ beliebig gewählt werden kann. -Wählen wir nun $a_0 = 1$, dann folgt für die Koeffizienten $a_1, a_2, a_3$ +Wählen wir nun $a_0 = 1$, dann folgt für die Koeffizienten +% $a_1, a_2, a_3$ \begin{align*} a_1 = @@ -136,8 +136,10 @@ k & >n: & a_k & = -0. +0 +. \end{align*} +Die Koeffizienten wechseln also für $k \leq n$ das Vorzeichen. Somit erhalten wir für $\nu = 0$ die Laguerre-Polynome \begin{align} L_n(x) @@ -174,11 +176,11 @@ L_n(x) \log(x) + \sum_{k=1}^\infty d_k x^k . \end{align*} Eine Herleitung dazu lässt sich im -Abschnitt \ref{buch:funktionentheorie:subsection:dglsing} +Abschnitt \ref{buch:funktionentheorie:subsection:dglsing} im ersten Teil des Buches finden. -Nach einigen aufwändigen Rechnungen, +Nach einigen aufwändigen Rechnungen, % die am besten ein Computeralgebrasystem übernimmt, -die den Rahmen dieses Kapitel sprengen würden, +die den Rahmen dieses Kapitels sprengen würden, erhalten wir \begin{align*} \Xi_n diff --git a/buch/papers/laguerre/eigenschaften.tex b/buch/papers/laguerre/eigenschaften.tex index 55d2276..6ba9135 100644 --- a/buch/papers/laguerre/eigenschaften.tex +++ b/buch/papers/laguerre/eigenschaften.tex @@ -90,6 +90,7 @@ S & = x \frac{d^2}{dx^2} + (\nu + 1 - x) \frac{d}{dx} \label{laguerre:sl-lag} +, \end{align} lässt sich sofort erkennen, dass $q(x) = 0$. Ausserdem ist ersichtlich, dass $p(x)$ die Differentialgleichung @@ -133,7 +134,7 @@ deshalb ist die Laguerre-Gewichtsfunktion nur geeignet für den Definitionsbereich $(0, \infty)$. \subsubsection{Randbedingungen} -Bleibt nur noch sicherzustellen, dass die Randbedingungen, +Bleibt nur noch sicherzustellen, dass die Randbedingungen \begin{align} k_0 y(0) + h_0 p(0)y'(0) & = diff --git a/buch/papers/laguerre/gamma.tex b/buch/papers/laguerre/gamma.tex index e40d8ca..0cf17b9 100644 --- a/buch/papers/laguerre/gamma.tex +++ b/buch/papers/laguerre/gamma.tex @@ -25,7 +25,7 @@ markant verbessern können. % wenden wir dann die Gauss-Laguerre-Quadratur auf die Gamma-Funktion und % erweitern die Methode -{\subsection{Gamma-Funktion} +\subsection{Gamma-Funktion% \label{laguerre:subsection:gamma}} Die Gamma-Funktion ist eine Erweiterung der Fakultät auf die reale und komplexe Zahlenmenge. @@ -44,11 +44,11 @@ Integral der Form . \end{align} Der Term $e^{-x}$ im Integranden und der Integrationsbereich erfüllen -genau die Bedingungen der Laguerre-Integration. +genau die Bedingungen der Gauss-Laguerre-Integration. % Der Term $e^{-t}$ ist genau die Gewichtsfunktion der Laguerre-Integration und % der Definitionsbereich passt ebenfalls genau für dieses Verfahren. -Weiter zu erwähnen ist, dass für die assoziierte Laguerre-Integration die -Gewichtsfunktion $x^\nu e^{-x}$ exakt dem Integranden +Weiter zu erwähnen ist, dass für die assoziierte Gauss-Laguerre-Integration die +Gewichtsfunktion $x^\nu e^{-x}$ exakt dem Integranden für $\nu = z - 1$ entspricht. \subsubsection{Funktionalgleichung} @@ -84,10 +84,11 @@ her. Dadurch lassen Werte der Gamma-Funktion sich für $z$ in der rechten Halbebene leicht in die linke Halbebene übersetzen und umgekehrt. -{\subsection{Berechnung mittels Gauss-Laguerre-Quadratur} +\subsection{Berechnung mittels +Gauss-Laguerre-Quadratur% \label{laguerre:subsection:gauss-lag-gamma}} In den vorherigen Abschnitten haben wir gesehen, -dass sich die Gamma-Funktion bestens für die Gauss-Laguerre-Quadratur +dass sich die Gamma-Funktion bestens für die Gauss-Laguerre-Quadratur \begin{align*} \int_0^\infty x^{z-1} e^{-x} \, dx = @@ -169,16 +170,6 @@ Somit entscheiden wir uns aufgrund der vorherigen Punkte, die zweite Variante weiterzuverfolgen. \subsubsection{Direkter Ansatz} -Wenden wir also die Gauss-Laguerre-Quadratur aus -\eqref{laguerre:laguerrequadratur} auf die Gamma-Funktion -\eqref{laguerre:gamma} an, -ergibt sich -\begin{align} -\Gamma(z) -\approx -\sum_{i=1}^n x_i^{z-1} A_i. -\label{laguerre:naive_lag} -\end{align} % \begin{figure} \centering @@ -186,10 +177,22 @@ ergibt sich \includegraphics{papers/laguerre/images/rel_error_simple.pdf} %\vspace{-12pt} \caption{Relativer Fehler des direkten Ansatzes -für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome} +für verschiedene reelle Werte von $z$ und Grade $n$ der +Laguerre-Polynome}% \label{laguerre:fig:rel_error_simple} \end{figure} -% +%. +Wenden wir also die Gauss-Laguerre-Quadratur aus +\eqref{laguerre:laguerrequadratur} auf die Gamma-Funktion +\eqref{laguerre:gamma} an, +ergibt sich +\begin{align} +\Gamma(z) +\approx +\sum_{i=1}^n x_i^{z-1} A_i +\label{laguerre:naive_lag} +. +\end{align} Bevor wir die Gauss-Laguerre-Quadratur anwenden, möchten wir als ersten Schritt eine Fehlerabschätzung durchführen. Für den Fehlerterm \eqref{laguerre:lag_error} wird die $2n$-te Ableitung @@ -220,8 +223,8 @@ und für $z > 2n - 1$ bei $\xi \rightarrow \infty$ divergiert. Nur für den unwahrscheinlichen Fall $ z = 2n - 1$ wäre eine Fehlerabschätzung plausibel. -Wenden wir nun also direkt die Gauss-Laguerre-Quadratur auf die Gamma-Funktion -an. +Wenden wir nun also direkt die Gauss-Laguerre-Quadratur +auf die Gamma-Funktion an. Dazu benötigen wir die Gewichte nach \eqref{laguerre:quadratur_gewichte} und als Stützstellen die Nullstellen des Laguerre-Polynomes $L_n$. @@ -229,18 +232,17 @@ Evaluieren wir den relativen Fehler unserer Approximation zeigt sich ein Bild wie in Abbildung~\ref{laguerre:fig:rel_error_simple}. Man kann sehen, wie der relative Fehler Nullstellen aufweist für ganzzahlige $z \leq 2n$. -Laut der Theorie der Gauss-Quadratur auch ist das zu erwarten, +Laut der Theorie der Gauss-Quadratur ist das auch zu erwarten, da die Approximation via Gauss-Quadratur -exakt ist für zu integrierende Polynome mit Grad $\leq 2n-1$ -und hinzukommt, -dass zudem von $z$ noch $1$ abgezogen wird im Exponenten. +exakt ist für zu integrierende Polynome mit Grad $\leq 2n-1$ und +der Integrand $x^{z-1}$ wird für $z \in \mathbb{N} \setminus \{0\}$ +zu einem Polynom . +% Hinzukommt, dass zudem von $z$ noch $1$ abgezogen wird im Exponenten. Es ist ersichtlich, dass sich für den Polynomgrad $n$ ein Intervall gibt, in dem der relative Fehler minimal ist. Links steigt der relative Fehler besonders stark an, während er auf der rechten Seite zu konvergieren scheint. -Um die linke Hälfte in den Griff zu bekommen, -könnten wir die Reflektionsformel der Gamma-Funktion verwenden. \begin{figure} \centering @@ -248,10 +250,12 @@ könnten wir die Reflektionsformel der Gamma-Funktion verwenden. \includegraphics{papers/laguerre/images/rel_error_mirror.pdf} %\vspace{-12pt} \caption{Relativer Fehler des Ansatzes mit Spiegelung negativer Realwerte -für verschiedene reele Werte von $z$ und Grade $n$ der Laguerre-Polynome} +für verschiedene reelle Werte von $z$ und Grade $n$ der Laguerre-Polynome} \label{laguerre:fig:rel_error_mirror} \end{figure} +Um die linke Hälfte in den Griff zu bekommen, +könnten wir die Reflektionsformel der Gamma-Funktion verwenden. Spiegelt man nun $z$ mit negativem Realteil mittels der Reflektionsformel, ergibt sich ein stabilerer Fehler in der linken Hälfte, wie in Abbildung~\ref{laguerre:fig:rel_error_mirror}. @@ -269,9 +273,10 @@ das Problem in den Griff zu bekommen. \subsubsection{Analyse des Integranden} Wie wir im vorherigen Abschnitt gesehen haben, scheint der Integrand problematisch. -Darum möchten wir jetzt den Integranden analysieren, -damit wir ihn besser verstehen und -dadurch geeignete Gegenmassnahmen zu entwickeln können. +Darum möchten wir ihn jetzt analysieren, +damit wir ihn besser verstehen können. +Dies sollte es uns ermöglichen, +anschliessend geeignete Gegenmassnahmen zu entwickeln. % Dieser Abschnitt soll eine grafisches Verständnis dafür schaffen, % wieso der Integrand so problematisch ist. @@ -311,16 +316,17 @@ dass kleine Exponenten um $0$ genauere Resultate liefern sollten. In Abbildung~\ref{laguerre:fig:integrand_exp} fügen wir die Dämpfung der Gewichtsfunktion $w(x)$ der Gauss-Laguerre-Quadratur wieder hinzu -und erhalten so wieder den kompletten Integranden $x^{z-1} e^{-x}$ +und erhalten so wieder den kompletten Integranden $x^{z} e^{-x}$ der Gamma-Funktion. Für negative $z$ ergeben sich immer noch Singularitäten, wenn $x \rightarrow 0$. -Um $1$ wächst der Term $x^z$ schneller als die Dämpfung $e^{-x}$, +Um $x = 1$ wächst der Term $x^z$ für positive $z$ +schneller als die Dämpfung $e^{-x}$, aber für $x \rightarrow \infty$ geht der Integrand gegen $0$. Das führt zu glockenförmigen Kurven, die für grosse Exponenten $z$ nach der Stelle $x=1$ schnell anwachsen. Zu grosse Exponenten $z$ sind also immer noch problematisch. -Kleine positive $z$ scheinen nun also auch zulässig zu sein. +Kleine positive $z$ scheinen nun aber auch zulässig zu sein. Damit formulieren wir die Vermutung, dass $a(n)$, welches das Intervall $[a(n), a(n) + 1]$ definiert, @@ -416,7 +422,8 @@ können die Intervalle $[a(n), a(n)+1]$ empirisch gesucht werden. Wir bestimmen nun die optimalen Verschiebungsterme empirisch für $n = 1,\ldots, 12$ im Intervall $z \in (0, 1)$, da $z$ sowieso mit den Term $m$ verschoben wird, -reicht die $m^*$ nur in diesem Intervall zu analysieren. +reicht es, +die $m^*$ nur in diesem Intervall zu analysieren. In Abbildung~\ref{laguerre:fig:targets} sind die empirisch bestimmten $m^*$ abhängig von $z$ und $n$ dargestellt. In $n$-Richtung lässt sich eine klare lineare Abhängigkeit erkennen und @@ -481,7 +488,7 @@ dann beim Übergang auf die orange Linie wechselt. \includegraphics{papers/laguerre/images/rel_error_shifted.pdf} %\vspace{-12pt} \caption{Relativer Fehler des Ansatzes mit Verschiebungsterm -für verschiedene reele Werte von $z$ und Verschiebungsterme $m$. +für verschiedene reelle Werte von $z$ und Verschiebungsterme $m$. Das verwendete Laguerre-Polynom besitzt den Grad $n = 8$. $m^*$ bezeichnet hier den optimalen Verschiebungsterm.} \label{laguerre:fig:rel_error_shifted} @@ -520,7 +527,7 @@ Abbildung~\ref{laguerre:fig:rel_error_range}. \includegraphics{papers/laguerre/images/rel_error_range.pdf} %\vspace{-12pt} \caption{Relativer Fehler des Ansatzes mit optimalen Verschiebungsterm -für verschiedene reele Werte von $z$ und Laguerre-Polynome vom Grad $n$} +für verschiedene reelle Werte von $z$ und Laguerre-Polynome vom Grad $n$} \label{laguerre:fig:rel_error_range} \end{figure} @@ -569,14 +576,14 @@ Diese Methode wurde zum Beispiel in {\em GNU Scientific Library}, {\em Boost}, {\em CPython} und {\em musl} implementiert. Diese Methode erreicht für $n = 7$ typischerweise eine Genauigkeit von $13$ -korrekten, signifikanten Stellen für reele Argumente. +korrekten, signifikanten Stellen für reelle Argumente. Zum Vergleich: die vorgestellte Methode erreicht für $n = 7$ eine minimale Genauigkeit von $6$ korrekten, signifikanten Stellen -für reele Argumente. +für reelle Argumente. \subsubsection{Fazit} % Das Resultat ist etwas enttäuschend, -Die Genauigkeit der vorgestellten Methode schneidet somit schlechter ab, +Die Genauigkeit der vorgestellten Methode schneidet somit schlechter ab als die Lanczos-Methode. Dieser Erkenntnis kommt nicht ganz unerwartet, % aber nicht unerwartet, @@ -595,6 +602,6 @@ nur $n$ Funktionsevaluationen und wenige zusätzliche Multiplikationen und Additionen. Demzufolge könnte diese Methode Anwendung in Systemen mit wenig Rechenleistung und/oder knappen Energieressourcen finden. -Die vorgestellte Methode ist ein weiteres Beispiel dafür, -wie Verfahren durch die Kenntnis der Eigenschaften einer Funktion +Die vorgestellte Methode ist ein weiteres Beispiel dafür, +wie Verfahren durch die Kenntnis der Eigenschaften einer Funktion verbessert werden können. \ No newline at end of file diff --git a/buch/papers/laguerre/main.tex b/buch/papers/laguerre/main.tex index 91c1475..133d686 100644 --- a/buch/papers/laguerre/main.tex +++ b/buch/papers/laguerre/main.tex @@ -8,24 +8,27 @@ \begin{refsection} \chapterauthor{Patrik Müller} -{\parindent0pt Die} Laguerre\--Polynome, +{\parindent0pt Die} Laguerre\--Polynome, benannt nach Edmond Laguerre (1834 -- 1886), -sind Lösungen der ebenfalls nach Laguerre benannten Differentialgleichung. -Laguerre entdeckte diese Polynome, als er Approximations\-methoden -für das Integral +sind Lösungen der ebenfalls nach %Laguerre +ihm +benannten Differentialgleichung. +Laguerre entdeckte diese Polynome, als er Approximations\-methoden +für das Integral % $\int_0^\infty \exp(-x) / x \, dx $ \begin{align*} \int_0^\infty \frac{e^{-x}}{x} \, dx \end{align*} suchte. -Darum möchten wir uns in diesem Kapitel, +Darum möchten wir uns in diesem Kapitel, ganz im Sinne des Entdeckers, -den Laguerre-Polynomen für Approximationen von Integralen mit -exponentiell-abfallenden Funktionen widmen. +den Laguerre-Polynomen für Approximationen von Integralen mit +exponentiell abfallenden Funktionen widmen. Namentlich werden wir versuchen, mittels Laguerre-Polynomen und -der Gauss-Quadratur eine geeignete Approximation für die Gamma-Funktion zu finden. +der Gauss-Quadratur eine geeignete Approximation für die Gamma-Funktion zu +finden. -Laguerre-Polynome tauchen zudem auch in der Quantenmechanik im radialen Anteil +Laguerre-Polynome tauchen zudem auch in der Quantenmechanik im radialen Anteil der Lösung für die Schrödinger-Gleichung eines Wasserstoffatoms auf. \input{papers/laguerre/definition} diff --git a/buch/papers/laguerre/presentation/sections/gamma_approx.tex b/buch/papers/laguerre/presentation/sections/gamma_approx.tex index 811fbfa..b5e1131 100644 --- a/buch/papers/laguerre/presentation/sections/gamma_approx.tex +++ b/buch/papers/laguerre/presentation/sections/gamma_approx.tex @@ -51,7 +51,7 @@ R_n(\xi) % \scalebox{0.91}{\input{../images/rel_error_simple.pgf}} % \resizebox{!}{0.72\textheight}{\input{../images/rel_error_simple.pgf}} \includegraphics[width=0.77\textwidth]{../images/rel_error_simple.pdf} -\caption{Relativer Fehler des einfachen Ansatzes für verschiedene reele Werte +\caption{Relativer Fehler des einfachen Ansatzes für verschiedene reelle Werte von $z$ und Grade $n$ der Laguerre-Polynome} \end{figure} diff --git a/buch/papers/laguerre/quadratur.tex b/buch/papers/laguerre/quadratur.tex index 841bc20..0e32012 100644 --- a/buch/papers/laguerre/quadratur.tex +++ b/buch/papers/laguerre/quadratur.tex @@ -16,7 +16,7 @@ verwendet. Stellt man also sicher, dass ein Verfahren gut für Polynome funktioniert, sollte es auch für andere Funktionen angemessene Resultate liefern. -Es wird ein Polynom verwendet, +Es wird ein Interpolationspolynom verwendet, welches an den Punkten $x_0 < x_1 < \ldots < x_n$ die Funktionwerte~$f(x_i)$ annimmt. Als Resultat kann das Integral via einer gewichteten Summe der Form @@ -66,10 +66,11 @@ gegen $0$ konvergiert als jedes Polynom. % $L_n$ ausweiten. % Diese sind orthogonal im Intervall $(0, \infty)$ bezüglich % der Gewichtsfunktion $e^{-x}$. -Um also das Integral einer Funktion $g(x)$ im Intervall~$(0,\infty)$ zu berechen, +Um also das Integral einer Funktion $g(x)$ im Intervall~$(0,\infty)$ zu +berechen, formt man das Integral wie folgt um: \begin{align*} -\int_0^\infty g(x) \, dx +\int_0^\infty g(x) \, dx = \int_0^\infty f(x) e^{-x} \, dx \end{align*} @@ -77,7 +78,7 @@ Wir approximieren dann $f(x)$ durch ein Interpolationspolynom wie bei der Gauss-Quadratur. % Die Gleichung~\eqref{laguerre:gaussquadratur} lässt sich daher wie folgt % umformulieren: -Die Gleichung~\eqref{laguerre:gaussquadratur} wird also +Die Gleichung~\eqref{laguerre:gaussquadratur} wird also für die Gauss-Laguerre-Quadratur zu \begin{align} \int_{0}^{\infty} f(x) e^{-x} dx @@ -89,8 +90,8 @@ für die Gauss-Laguerre-Quadratur zu \subsubsection{Stützstellen und Gewichte} Nach der Definition der Gauss-Quadratur müssen als Stützstellen die Nullstellen -des verwendeten Polynoms genommen werden. -Für das Laguerre-Polynom $L_n$ müssen demnach dessen Nullstellen $x_i$ und +des Approximationspolynoms genommen werden. +Für das Laguerre-Polynom $L_n(x)$ müssen demnach dessen Nullstellen $x_i$ und als Gewichte $A_i$ die Integrale von $l_i(x) e^{-x}$ verwendet werden. Dabei sind \begin{align*} @@ -104,7 +105,7 @@ l_i(x_j) \end{cases} % . \end{align*} -die Lagrangschen Interpolationspolynome. +die Lagrangeschen Interpolationspolynome. Laut \cite{laguerre:hildebrand2013introduction} können die Gewichte mit \begin{align*} A_i @@ -122,7 +123,9 @@ des orthogonalen Polynoms $\phi_n(x)$, $\forall i =0,\ldots,n$ und dem Normalisierungsfaktor. Wir setzen nun $\phi_n(x) = L_n(x)$ und -nutzen den Vorzeichenwechsel der Laguerre-Koeffizienten aus, +nutzen den Vorzeichenwechsel der Laguerre-Koeffizienten +(ersichtlich am Term $(-1)^k$ in \eqref{laguerre:polynom}) +aus, damit erhalten wir \begin{align*} A_i -- cgit v1.2.1 From 02fad480aad27d6d2fa1192eeab5c6654557b884 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Tue, 26 Jul 2022 09:31:35 +0200 Subject: svae between --- buch/papers/fm/01_AM-FM.tex | 37 ++++++++++++++++++++++--------------- buch/papers/fm/main.tex | 2 +- buch/papers/fm/references.bib | 11 +++++++++++ 3 files changed, 34 insertions(+), 16 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/01_AM-FM.tex b/buch/papers/fm/01_AM-FM.tex index ef55d55..2267d39 100644 --- a/buch/papers/fm/01_AM-FM.tex +++ b/buch/papers/fm/01_AM-FM.tex @@ -7,30 +7,37 @@ \rhead{AM- FM} Das sinusförmige Trägersignal hat die übliche Form: -\(x_c(t) = A_c \cdot cos(\omega_c(t)+\varphi)\). +\(x_c(t) = A_c \cdot \cos(\omega_c(t)+\varphi)\). Wobei die konstanten Amplitude \(A_c\) und Phase \(\varphi\) vom Nachrichtensignal \(m(t)\) verändert wird. Der Parameter \(\omega_c\), die Trägerkreisfrequenz bzw. die Trägerfrequenz \(f_c = \frac{\omega_c}{2\pi}\), steht nicht für die modulation zur verfügung, statt dessen kann durch ihn die Frequenzachse frei gewählt werden. \newblockpunct -Jedoch ist das für die Vilfalt der Modulationsarten keine Einschrenkung. +Jedoch ist das für die Vielfalt der Modulationsarten keine Einschrenkung. Ein Nachrichtensignal kann auch über die Momentanfrequenz (instantenous frequency) \(\omega_i\) eines trägers verändert werden. Mathematisch wird dann daraus \[ \omega_i = \omega_c + \frac{d \varphi(t)}{dt} \] -mit der Ableitung der Phase. +mit der Ableitung der Phase\cite{fm:NAT}. +Mit diesen drei parameter ergeben sich auch drei modulationsarten, die Amplitudenmodulation welche \(A_c\) benutzt, +die Phasenmodulation \(\varphi\) und dann noch die Momentankreisfrequenz \(\omega_i\): \newline \newline -TODO: -Hier beschrieib ich was AmplitudenModulation ist und mache dan den link zu Frequenzmodulation inkl Formel \[cos( cos x)\] - - - -%Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -%nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{fm:bibtex}. -%At vero eos et accusam et justo duo dolores et ea rebum. -%Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -%dolor sit amet. - +To do: Bilder jeder Modulationsart +\subsection{AM - Amplitudenmodulation} +Das Ziel ist FM zu verstehen doch dazu wird zuerst AM erklärt welches einwenig einfacher zu verstehen ist und erst dann übertragen wir die Ideeen in FM. +Nun zur Amplitudenmodulation verwenden wir das bevorzugte Trägersignal +\[ + x_c(t) = A_c \cdot \cos(\omega_ct). +\] +Dies bringt den grossen Vorteil das, dass modulierend Signal sämtliche Anteile im Frequenzspektrum inanspruch nimmt +und das Trägersignal nur zwei komplexe Schwingungen besitzt. +Dies sieht man besonders in der Eulerischen Formel +\[ + x_c(t) = \frac{A_c}{2} \cdot e^{j\omega_ct}\;+\;\frac{A_c}{2} \cdot e^{-j\omega_ct}. +\] +Dabei ist die negative Frequenz der zweiten komplexen Schwingung zwingend erforderlich, damit in der Summe immer ein reelwertiges Trägersignal ergibt. +\newline +TODO: +Hier beschrieib ich was AmplitudenModulation ist und mache dan den link zu Frequenzmodulation inkl Formel \[\cos( \cos x)\] diff --git a/buch/papers/fm/main.tex b/buch/papers/fm/main.tex index fcf4d1a..6af3386 100644 --- a/buch/papers/fm/main.tex +++ b/buch/papers/fm/main.tex @@ -27,7 +27,7 @@ welches Digital einfach umzusetzten ist, genauso als Trägersignal genutzt werden kann. Zuerst wird erklärt was \textit{FM-AM} ist, danach wie sich diese im Frequenzspektrum verhalten. Erst dann erklär ich dir wie die Besselfunktion mit der Frequenzmodulation( acro?) zusammenhängt. -Nun zur Modulation im nächsten Abschnitt. +Nun zur Modulation im nächsten Abschnitt.\cite{fm:NAT} \input{papers/fm/01_AM-FM.tex} \input{papers/fm/02_frequenzyspectrum.tex} diff --git a/buch/papers/fm/references.bib b/buch/papers/fm/references.bib index 76eb265..21b910b 100644 --- a/buch/papers/fm/references.bib +++ b/buch/papers/fm/references.bib @@ -23,6 +23,17 @@ volume = {2} } +@book{fm:NAT, + title = {Nachrichtentechnik 1 + 2}, + author = {Thomas Kneubühler}, + publisher = {None}, + year = {2021}, + isbn = {}, + inseries = {Script for students}, + volume = {} +} + + @article{fm:mendezmueller, author = { Tabea Méndez and Andreas Müller }, title = { Noncommutative harmonic analysis and image registration }, -- cgit v1.2.1 From a5b1d13fd6d9d5df3d7289093e57cf67ae5cb81c Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Tue, 26 Jul 2022 15:04:22 +0200 Subject: Kapitel TODOs --- buch/papers/fm/01_AM-FM.tex | 4 +++ buch/papers/fm/02_frequenzyspectrum.tex | 2 ++ buch/papers/fm/03_bessel.tex | 24 ++++++---------- buch/papers/fm/04_fazit.tex | 32 ++------------------- buch/papers/fm/FM presentation/A2-14.pdf | Bin 0 -> 259673 bytes buch/papers/fm/FM presentation/FM_presentation.pdf | Bin 0 -> 357597 bytes ...quency modulation (FM) and Bessel functions.pdf | Bin 0 -> 159598 bytes ...l2022_Book_H\303\266hereMathematikImAlltag.pdf" | Bin 0 -> 4118379 bytes 8 files changed, 17 insertions(+), 45 deletions(-) create mode 100644 buch/papers/fm/FM presentation/A2-14.pdf create mode 100644 buch/papers/fm/FM presentation/FM_presentation.pdf create mode 100644 buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf create mode 100644 "buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" (limited to 'buch/papers') diff --git a/buch/papers/fm/01_AM-FM.tex b/buch/papers/fm/01_AM-FM.tex index 2267d39..163c792 100644 --- a/buch/papers/fm/01_AM-FM.tex +++ b/buch/papers/fm/01_AM-FM.tex @@ -38,6 +38,10 @@ Dies sieht man besonders in der Eulerischen Formel x_c(t) = \frac{A_c}{2} \cdot e^{j\omega_ct}\;+\;\frac{A_c}{2} \cdot e^{-j\omega_ct}. \] Dabei ist die negative Frequenz der zweiten komplexen Schwingung zwingend erforderlich, damit in der Summe immer ein reelwertiges Trägersignal ergibt. +Nun wird der parameter \(A_c\) durch das Moduierende Signal \(m(t)\) ersetzt, wobei so \(m(t) \leqslant |1|\) normiert wurde. +\newline \newline TODO: Hier beschrieib ich was AmplitudenModulation ist und mache dan den link zu Frequenzmodulation inkl Formel \[\cos( \cos x)\] +so wird beschrieben das daraus eigentlich \(x_c(t) = A_c \cdot \cos(\omega_i)\) wird und somit \(x_c(t) = A_c \cdot \cos(\omega_c + \frac{d \varphi(t)}{dt})\). +Da \(\sin \) abgeleitet \(\cos \) ergibt, so wird aus dem \(m(t)\) ein \( \frac{d \varphi(t)}{dt}\) in der momentan frequenz. \[ \Rightarrow \cos( \cos x) \] diff --git a/buch/papers/fm/02_frequenzyspectrum.tex b/buch/papers/fm/02_frequenzyspectrum.tex index 1c6044d..80e1c65 100644 --- a/buch/papers/fm/02_frequenzyspectrum.tex +++ b/buch/papers/fm/02_frequenzyspectrum.tex @@ -7,7 +7,9 @@ \label{fm:section:teil1}} \rhead{Problemstellung} +TODO Hier Beschreiben ich das Frequenzspektrum und wie AM und FM aussehen und generiert werden. +Somit auch die Herleitung des Frequenzspektrum. %Sed ut perspiciatis unde omnis iste natus error sit voluptatem %accusantium doloremque laudantium, totam rem aperiam, eaque ipsa %quae ab illo inventore veritatis et quasi architecto beatae vitae diff --git a/buch/papers/fm/03_bessel.tex b/buch/papers/fm/03_bessel.tex index fdaa0d1..aed084e 100644 --- a/buch/papers/fm/03_bessel.tex +++ b/buch/papers/fm/03_bessel.tex @@ -7,22 +7,16 @@ \label{fm:section:teil2}} \rhead{Teil 2} + +TODO Hier wird beschrieben wie die Bessel Funktion der FM im Frequenzspektrum hilft, wieso diese gebrauch wird und ihre Vorteile. -%Sed ut perspiciatis unde omnis iste natus error sit voluptatem -%accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -%quae ab illo inventore veritatis et quasi architecto beatae vitae -%dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -%aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -%eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -%est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -%velit, sed quia non numquam eius modi tempora incidunt ut labore -%et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -%veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -%nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -%reprehenderit qui in ea voluptate velit esse quam nihil molestiae -%consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -%pariatur? -% +\begin{itemize} + \item Zuerest einmal die Herleitung von FM zu der Besselfunktion + \item Im Frequenzspektrum darstellen mit Farben, ersichtlich machen. + \item Parameter tuing der Trägerfrequenz, Modulierende frequenz und Beta. +\end{itemize} + + %\subsection{De finibus bonorum et malorum %\label{fm:subsection:bonorum}} diff --git a/buch/papers/fm/04_fazit.tex b/buch/papers/fm/04_fazit.tex index 8c6c002..8d5eca4 100644 --- a/buch/papers/fm/04_fazit.tex +++ b/buch/papers/fm/04_fazit.tex @@ -6,35 +6,7 @@ \section{Fazit \label{fm:section:fazit}} \rhead{Zusamenfassend} -%Sed ut perspiciatis unde omnis iste natus error sit voluptatem -%accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -%quae ab illo inventore veritatis et quasi architecto beatae vitae -%dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -%aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -%eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -%est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -%velit, sed quia non numquam eius modi tempora incidunt ut labore -%et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -%veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -%nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -%reprehenderit qui in ea voluptate velit esse quam nihil molestiae -%consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -%pariatur? -% -%\subsection{De finibus bonorum et malorum -%\label{fm:subsection:malorum}} -%At vero eos et accusamus et iusto odio dignissimos ducimus qui -%blanditiis praesentium voluptatum deleniti atque corrupti quos -%dolores et quas molestias excepturi sint occaecati cupiditate non -%provident, similique sunt in culpa qui officia deserunt mollitia -%animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -%est et expedita distinctio. Nam libero tempore, cum soluta nobis -%est eligendi optio cumque nihil impedit quo minus id quod maxime -%placeat facere possimus, omnis voluptas assumenda est, omnis dolor -%repellendus. Temporibus autem quibusdam et aut officiis debitis aut -%rerum necessitatibus saepe eveniet ut et voluptates repudiandae -%sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -%sapiente delectus, ut aut reiciendis voluptatibus maiores alias -%consequatur aut perferendis doloribus asperiores repellat. + +TODO Anwendungen erklären und Sinn des Ganzen. diff --git a/buch/papers/fm/FM presentation/A2-14.pdf b/buch/papers/fm/FM presentation/A2-14.pdf new file mode 100644 index 0000000..7348cca Binary files /dev/null and b/buch/papers/fm/FM presentation/A2-14.pdf differ diff --git a/buch/papers/fm/FM presentation/FM_presentation.pdf b/buch/papers/fm/FM presentation/FM_presentation.pdf new file mode 100644 index 0000000..496e35e Binary files /dev/null and b/buch/papers/fm/FM presentation/FM_presentation.pdf differ diff --git a/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf b/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf new file mode 100644 index 0000000..a6e701c Binary files /dev/null and b/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf differ diff --git "a/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" "b/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" new file mode 100644 index 0000000..2a0bddd Binary files /dev/null and "b/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" differ -- cgit v1.2.1 From 80f1ac88befc8c0471a47f4400dd727cbd47eff4 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Tue, 26 Jul 2022 15:14:53 +0200 Subject: Ordner sturuktur angepasst --- buch/papers/fm/FM presentation/A2-14.pdf | Bin 259673 -> 0 bytes buch/papers/fm/FM presentation/FM_presentation.tex | 125 +++++++++++++++++++++ ...quency modulation (FM) and Bessel functions.pdf | Bin 159598 -> 0 bytes buch/papers/fm/FM presentation/README.txt | 1 + ...l2022_Book_H\303\266hereMathematikImAlltag.pdf" | Bin 4118379 -> 0 bytes buch/papers/fm/FM presentation/images/100HZ.png | Bin 0 -> 8601 bytes buch/papers/fm/FM presentation/images/200HZ.png | Bin 0 -> 8502 bytes buch/papers/fm/FM presentation/images/300HZ.png | Bin 0 -> 9059 bytes buch/papers/fm/FM presentation/images/400HZ.png | Bin 0 -> 9949 bytes buch/papers/fm/FM presentation/images/bessel.png | Bin 0 -> 40393 bytes buch/papers/fm/FM presentation/images/bessel2.png | Bin 0 -> 102494 bytes .../fm/FM presentation/images/bessel_beta1.png | Bin 0 -> 40696 bytes .../fm/FM presentation/images/bessel_frequenz.png | Bin 0 -> 11264 bytes .../fm/FM presentation/images/beta_0.001.png | Bin 0 -> 6233 bytes buch/papers/fm/FM presentation/images/beta_0.1.png | Bin 0 -> 6630 bytes buch/papers/fm/FM presentation/images/beta_0.5.png | Bin 0 -> 8167 bytes buch/papers/fm/FM presentation/images/beta_1.png | Bin 0 -> 11303 bytes buch/papers/fm/FM presentation/images/beta_2.png | Bin 0 -> 14703 bytes buch/papers/fm/FM presentation/images/beta_3.png | Bin 0 -> 20377 bytes buch/papers/fm/FM presentation/images/fm_10Hz.png | Bin 0 -> 6781 bytes buch/papers/fm/FM presentation/images/fm_20hz.png | Bin 0 -> 7834 bytes buch/papers/fm/FM presentation/images/fm_30Hz.png | Bin 0 -> 8601 bytes buch/papers/fm/FM presentation/images/fm_3Hz.png | Bin 0 -> 6558 bytes buch/papers/fm/FM presentation/images/fm_40Hz.png | Bin 0 -> 8795 bytes buch/papers/fm/FM presentation/images/fm_5Hz.png | Bin 0 -> 5766 bytes buch/papers/fm/FM presentation/images/fm_7Hz.png | Bin 0 -> 6337 bytes .../fm/FM presentation/images/fm_frequenz.png | Bin 0 -> 11042 bytes .../fm/FM presentation/images/fm_in_time.png | Bin 0 -> 27400 bytes buch/papers/fm/Quellen/A2-14.pdf | Bin 0 -> 259673 bytes buch/papers/fm/Quellen/FM_presentation.pdf | Bin 0 -> 357597 bytes ...quency modulation (FM) and Bessel functions.pdf | Bin 0 -> 159598 bytes ...l2022_Book_H\303\266hereMathematikImAlltag.pdf" | Bin 0 -> 4118379 bytes buch/papers/fm/RS presentation/FM_presentation.pdf | Bin 357597 -> 0 bytes buch/papers/fm/RS presentation/FM_presentation.tex | 125 --------------------- ...quency modulation (FM) and Bessel functions.pdf | Bin 159598 -> 0 bytes buch/papers/fm/RS presentation/README.txt | 1 - buch/papers/fm/RS presentation/RS.tex | 123 -------------------- buch/papers/fm/RS presentation/images/100HZ.png | Bin 8601 -> 0 bytes buch/papers/fm/RS presentation/images/200HZ.png | Bin 8502 -> 0 bytes buch/papers/fm/RS presentation/images/300HZ.png | Bin 9059 -> 0 bytes buch/papers/fm/RS presentation/images/400HZ.png | Bin 9949 -> 0 bytes buch/papers/fm/RS presentation/images/bessel.png | Bin 40393 -> 0 bytes buch/papers/fm/RS presentation/images/bessel2.png | Bin 102494 -> 0 bytes .../fm/RS presentation/images/bessel_beta1.png | Bin 40696 -> 0 bytes .../fm/RS presentation/images/bessel_frequenz.png | Bin 11264 -> 0 bytes .../fm/RS presentation/images/beta_0.001.png | Bin 6233 -> 0 bytes buch/papers/fm/RS presentation/images/beta_0.1.png | Bin 6630 -> 0 bytes buch/papers/fm/RS presentation/images/beta_0.5.png | Bin 8167 -> 0 bytes buch/papers/fm/RS presentation/images/beta_1.png | Bin 11303 -> 0 bytes buch/papers/fm/RS presentation/images/beta_2.png | Bin 14703 -> 0 bytes buch/papers/fm/RS presentation/images/beta_3.png | Bin 20377 -> 0 bytes buch/papers/fm/RS presentation/images/fm_10Hz.png | Bin 6781 -> 0 bytes buch/papers/fm/RS presentation/images/fm_20hz.png | Bin 7834 -> 0 bytes buch/papers/fm/RS presentation/images/fm_30Hz.png | Bin 8601 -> 0 bytes buch/papers/fm/RS presentation/images/fm_3Hz.png | Bin 6558 -> 0 bytes buch/papers/fm/RS presentation/images/fm_40Hz.png | Bin 8795 -> 0 bytes buch/papers/fm/RS presentation/images/fm_5Hz.png | Bin 5766 -> 0 bytes buch/papers/fm/RS presentation/images/fm_7Hz.png | Bin 6337 -> 0 bytes .../fm/RS presentation/images/fm_frequenz.png | Bin 11042 -> 0 bytes .../fm/RS presentation/images/fm_in_time.png | Bin 27400 -> 0 bytes 60 files changed, 126 insertions(+), 249 deletions(-) delete mode 100644 buch/papers/fm/FM presentation/A2-14.pdf create mode 100644 buch/papers/fm/FM presentation/FM_presentation.tex delete mode 100644 buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf create mode 100644 buch/papers/fm/FM presentation/README.txt delete mode 100644 "buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" create mode 100644 buch/papers/fm/FM presentation/images/100HZ.png create mode 100644 buch/papers/fm/FM presentation/images/200HZ.png create mode 100644 buch/papers/fm/FM presentation/images/300HZ.png create mode 100644 buch/papers/fm/FM presentation/images/400HZ.png create mode 100644 buch/papers/fm/FM presentation/images/bessel.png create mode 100644 buch/papers/fm/FM presentation/images/bessel2.png create mode 100644 buch/papers/fm/FM presentation/images/bessel_beta1.png create mode 100644 buch/papers/fm/FM presentation/images/bessel_frequenz.png create mode 100644 buch/papers/fm/FM presentation/images/beta_0.001.png create mode 100644 buch/papers/fm/FM presentation/images/beta_0.1.png create mode 100644 buch/papers/fm/FM presentation/images/beta_0.5.png create mode 100644 buch/papers/fm/FM presentation/images/beta_1.png create mode 100644 buch/papers/fm/FM presentation/images/beta_2.png create mode 100644 buch/papers/fm/FM presentation/images/beta_3.png create mode 100644 buch/papers/fm/FM presentation/images/fm_10Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_20hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_30Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_3Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_40Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_5Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_7Hz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_frequenz.png create mode 100644 buch/papers/fm/FM presentation/images/fm_in_time.png create mode 100644 buch/papers/fm/Quellen/A2-14.pdf create mode 100644 buch/papers/fm/Quellen/FM_presentation.pdf create mode 100644 buch/papers/fm/Quellen/Frequency modulation (FM) and Bessel functions.pdf create mode 100644 "buch/papers/fm/Quellen/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" delete mode 100644 buch/papers/fm/RS presentation/FM_presentation.pdf delete mode 100644 buch/papers/fm/RS presentation/FM_presentation.tex delete mode 100644 buch/papers/fm/RS presentation/Frequency modulation (FM) and Bessel functions.pdf delete mode 100644 buch/papers/fm/RS presentation/README.txt delete mode 100644 buch/papers/fm/RS presentation/RS.tex delete mode 100644 buch/papers/fm/RS presentation/images/100HZ.png delete mode 100644 buch/papers/fm/RS presentation/images/200HZ.png delete mode 100644 buch/papers/fm/RS presentation/images/300HZ.png delete mode 100644 buch/papers/fm/RS presentation/images/400HZ.png delete mode 100644 buch/papers/fm/RS presentation/images/bessel.png delete mode 100644 buch/papers/fm/RS presentation/images/bessel2.png delete mode 100644 buch/papers/fm/RS presentation/images/bessel_beta1.png delete mode 100644 buch/papers/fm/RS presentation/images/bessel_frequenz.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_0.001.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_0.1.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_0.5.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_1.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_2.png delete mode 100644 buch/papers/fm/RS presentation/images/beta_3.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_10Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_20hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_30Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_3Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_40Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_5Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_7Hz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_frequenz.png delete mode 100644 buch/papers/fm/RS presentation/images/fm_in_time.png (limited to 'buch/papers') diff --git a/buch/papers/fm/FM presentation/A2-14.pdf b/buch/papers/fm/FM presentation/A2-14.pdf deleted file mode 100644 index 7348cca..0000000 Binary files a/buch/papers/fm/FM presentation/A2-14.pdf and /dev/null differ diff --git a/buch/papers/fm/FM presentation/FM_presentation.tex b/buch/papers/fm/FM presentation/FM_presentation.tex new file mode 100644 index 0000000..2801e69 --- /dev/null +++ b/buch/papers/fm/FM presentation/FM_presentation.tex @@ -0,0 +1,125 @@ +%% !TeX root = .tex + +\documentclass[11pt,aspectratio=169]{beamer} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[ngerman]{babel} +\usepackage{tikz} +\usetheme{Hannover} + +\begin{document} + \author{Joshua Bär} + \title{FM - Bessel} + \subtitle{} + \logo{} + \institute{OST Ostschweizer Fachhochschule} + \date{16.5.2022} + \subject{Mathematisches Seminar - Spezielle Funktionen} + %\setbeamercovered{transparent} + \setbeamercovered{invisible} + \setbeamertemplate{navigation symbols}{} + \begin{frame}[plain] + \maketitle + \end{frame} +%------------------------------------------------------------------------------- +\section{Einführung} + \begin{frame} + \frametitle{Frequenzmodulation} + + \visible<1->{ + \begin{equation} \cos(\omega_c t+\beta\sin(\omega_mt)) + \end{equation}} + + \only<2>{\includegraphics[scale= 0.7]{images/fm_in_time.png}} + \only<3>{\includegraphics[scale= 0.7]{images/fm_frequenz.png}} + \only<4>{\includegraphics[scale= 0.7]{images/bessel_frequenz.png}} + + + \end{frame} +%------------------------------------------------------------------------------- +\section{Proof} +\begin{frame} + \frametitle{Bessel} + + \visible<1->{\begin{align} + \cos(\beta\sin\varphi) + &= + J_0(\beta) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) + \\ + \sin(\beta\sin\varphi) + &= + J_0(\beta) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) + \\ + J_{-n}(\beta) &= (-1)^n J_n(\beta) + \end{align}} + \visible<2->{\begin{align} + \cos(A + B) + &= + \cos(A)\cos(B)-\sin(A)\sin(B) + \\ + 2\cos (A)\cos (B) + &= + \cos(A-B)+\cos(A+B) + \\ + 2\sin(A)\sin(B) + &= + \cos(A-B)-\cos(A+B) + \end{align}} +\end{frame} + +%------------------------------------------------------------------------------- +\begin{frame} + \frametitle{Prof->Done} + \begin{align} + \cos(\omega_ct+\beta\sin(\omega_mt)) + &= + \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t) + \end{align} + \end{frame} +%------------------------------------------------------------------------------- + \begin{frame} + \begin{figure} + \only<1>{\includegraphics[scale = 0.75]{images/fm_frequenz.png}} + \only<2>{\includegraphics[scale = 0.75]{images/bessel_frequenz.png}} + \end{figure} + \end{frame} +%------------------------------------------------------------------------------- +\section{Input Parameter} + \begin{frame} + \frametitle{Träger-Frequenz Parameter} + \onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} + \only<1>{\includegraphics[scale=0.75]{images/100HZ.png}} + \only<2>{\includegraphics[scale=0.75]{images/200HZ.png}} + \only<3>{\includegraphics[scale=0.75]{images/300HZ.png}} + \only<4>{\includegraphics[scale=0.75]{images/400HZ.png}} + \end{frame} +%------------------------------------------------------------------------------- +\begin{frame} +\frametitle{Modulations-Frequenz Parameter} +\onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} +\only<1>{\includegraphics[scale=0.75]{images/fm_3Hz.png}} +\only<2>{\includegraphics[scale=0.75]{images/fm_5Hz.png}} +\only<3>{\includegraphics[scale=0.75]{images/fm_7Hz.png}} +\only<4>{\includegraphics[scale=0.75]{images/fm_10Hz.png}} +\only<5>{\includegraphics[scale=0.75]{images/fm_20Hz.png}} +\only<6>{\includegraphics[scale=0.75]{images/fm_30Hz.png}} +\end{frame} +%------------------------------------------------------------------------------- +\begin{frame} +\frametitle{Beta Parameter} + \onslide<1->{\begin{equation}\sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t)\end{equation}} + \only<1>{\includegraphics[scale=0.7]{images/beta_0.001.png}} + \only<2>{\includegraphics[scale=0.7]{images/beta_0.1.png}} + \only<3>{\includegraphics[scale=0.7]{images/beta_0.5.png}} + \only<4>{\includegraphics[scale=0.7]{images/beta_1.png}} + \only<5>{\includegraphics[scale=0.7]{images/beta_2.png}} + \only<6>{\includegraphics[scale=0.7]{images/beta_3.png}} + \only<7>{\includegraphics[scale=0.7]{images/bessel.png}} +\end{frame} +%------------------------------------------------------------------------------- +\begin{frame} + \includegraphics[scale=0.5]{images/beta_1.png} + \includegraphics[scale=0.5]{images/bessel.png} +\end{frame} +\end{document} diff --git a/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf b/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf deleted file mode 100644 index a6e701c..0000000 Binary files a/buch/papers/fm/FM presentation/Frequency modulation (FM) and Bessel functions.pdf and /dev/null differ diff --git a/buch/papers/fm/FM presentation/README.txt b/buch/papers/fm/FM presentation/README.txt new file mode 100644 index 0000000..65f390d --- /dev/null +++ b/buch/papers/fm/FM presentation/README.txt @@ -0,0 +1 @@ +Dies ist die Presentation des FM - Bessel \ No newline at end of file diff --git "a/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" "b/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" deleted file mode 100644 index 2a0bddd..0000000 Binary files "a/buch/papers/fm/FM presentation/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" and /dev/null differ diff --git a/buch/papers/fm/FM presentation/images/100HZ.png b/buch/papers/fm/FM presentation/images/100HZ.png new file mode 100644 index 0000000..371b9bf Binary files /dev/null and b/buch/papers/fm/FM presentation/images/100HZ.png differ diff --git a/buch/papers/fm/FM presentation/images/200HZ.png b/buch/papers/fm/FM presentation/images/200HZ.png new file mode 100644 index 0000000..f6836bd Binary files /dev/null and b/buch/papers/fm/FM presentation/images/200HZ.png differ diff --git a/buch/papers/fm/FM presentation/images/300HZ.png b/buch/papers/fm/FM presentation/images/300HZ.png new file mode 100644 index 0000000..6762c1a Binary files /dev/null and b/buch/papers/fm/FM presentation/images/300HZ.png differ diff --git a/buch/papers/fm/FM presentation/images/400HZ.png b/buch/papers/fm/FM presentation/images/400HZ.png new file mode 100644 index 0000000..236c428 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/400HZ.png differ diff --git a/buch/papers/fm/FM presentation/images/bessel.png b/buch/papers/fm/FM presentation/images/bessel.png new file mode 100644 index 0000000..f4c83ea Binary files /dev/null and b/buch/papers/fm/FM presentation/images/bessel.png differ diff --git a/buch/papers/fm/FM presentation/images/bessel2.png b/buch/papers/fm/FM presentation/images/bessel2.png new file mode 100644 index 0000000..ccda3f9 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/bessel2.png differ diff --git a/buch/papers/fm/FM presentation/images/bessel_beta1.png b/buch/papers/fm/FM presentation/images/bessel_beta1.png new file mode 100644 index 0000000..1f5c47e Binary files /dev/null and b/buch/papers/fm/FM presentation/images/bessel_beta1.png differ diff --git a/buch/papers/fm/FM presentation/images/bessel_frequenz.png b/buch/papers/fm/FM presentation/images/bessel_frequenz.png new file mode 100644 index 0000000..4f228b9 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/bessel_frequenz.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_0.001.png b/buch/papers/fm/FM presentation/images/beta_0.001.png new file mode 100644 index 0000000..7e4e276 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_0.001.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_0.1.png b/buch/papers/fm/FM presentation/images/beta_0.1.png new file mode 100644 index 0000000..e7722b3 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_0.1.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_0.5.png b/buch/papers/fm/FM presentation/images/beta_0.5.png new file mode 100644 index 0000000..5261b43 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_0.5.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_1.png b/buch/papers/fm/FM presentation/images/beta_1.png new file mode 100644 index 0000000..6d3535c Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_1.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_2.png b/buch/papers/fm/FM presentation/images/beta_2.png new file mode 100644 index 0000000..6930eae Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_2.png differ diff --git a/buch/papers/fm/FM presentation/images/beta_3.png b/buch/papers/fm/FM presentation/images/beta_3.png new file mode 100644 index 0000000..c6df82c Binary files /dev/null and b/buch/papers/fm/FM presentation/images/beta_3.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_10Hz.png b/buch/papers/fm/FM presentation/images/fm_10Hz.png new file mode 100644 index 0000000..51bddc7 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_10Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_20hz.png b/buch/papers/fm/FM presentation/images/fm_20hz.png new file mode 100644 index 0000000..126ecf3 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_20hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_30Hz.png b/buch/papers/fm/FM presentation/images/fm_30Hz.png new file mode 100644 index 0000000..371b9bf Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_30Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_3Hz.png b/buch/papers/fm/FM presentation/images/fm_3Hz.png new file mode 100644 index 0000000..d4098af Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_3Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_40Hz.png b/buch/papers/fm/FM presentation/images/fm_40Hz.png new file mode 100644 index 0000000..4cf11d4 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_40Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_5Hz.png b/buch/papers/fm/FM presentation/images/fm_5Hz.png new file mode 100644 index 0000000..e495b5c Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_5Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_7Hz.png b/buch/papers/fm/FM presentation/images/fm_7Hz.png new file mode 100644 index 0000000..b3dd7e3 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_7Hz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_frequenz.png b/buch/papers/fm/FM presentation/images/fm_frequenz.png new file mode 100644 index 0000000..26bfd86 Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_frequenz.png differ diff --git a/buch/papers/fm/FM presentation/images/fm_in_time.png b/buch/papers/fm/FM presentation/images/fm_in_time.png new file mode 100644 index 0000000..068eafc Binary files /dev/null and b/buch/papers/fm/FM presentation/images/fm_in_time.png differ diff --git a/buch/papers/fm/Quellen/A2-14.pdf b/buch/papers/fm/Quellen/A2-14.pdf new file mode 100644 index 0000000..7348cca Binary files /dev/null and b/buch/papers/fm/Quellen/A2-14.pdf differ diff --git a/buch/papers/fm/Quellen/FM_presentation.pdf b/buch/papers/fm/Quellen/FM_presentation.pdf new file mode 100644 index 0000000..496e35e Binary files /dev/null and b/buch/papers/fm/Quellen/FM_presentation.pdf differ diff --git a/buch/papers/fm/Quellen/Frequency modulation (FM) and Bessel functions.pdf b/buch/papers/fm/Quellen/Frequency modulation (FM) and Bessel functions.pdf new file mode 100644 index 0000000..a6e701c Binary files /dev/null and b/buch/papers/fm/Quellen/Frequency modulation (FM) and Bessel functions.pdf differ diff --git "a/buch/papers/fm/Quellen/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" "b/buch/papers/fm/Quellen/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" new file mode 100644 index 0000000..2a0bddd Binary files /dev/null and "b/buch/papers/fm/Quellen/Seydel2022_Book_H\303\266hereMathematikImAlltag.pdf" differ diff --git a/buch/papers/fm/RS presentation/FM_presentation.pdf b/buch/papers/fm/RS presentation/FM_presentation.pdf deleted file mode 100644 index 496e35e..0000000 Binary files a/buch/papers/fm/RS presentation/FM_presentation.pdf and /dev/null differ diff --git a/buch/papers/fm/RS presentation/FM_presentation.tex b/buch/papers/fm/RS presentation/FM_presentation.tex deleted file mode 100644 index 92cb501..0000000 --- a/buch/papers/fm/RS presentation/FM_presentation.tex +++ /dev/null @@ -1,125 +0,0 @@ -%% !TeX root = RS.tex - -\documentclass[11pt,aspectratio=169]{beamer} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage[ngerman]{babel} -\usepackage{tikz} -\usetheme{Hannover} - -\begin{document} - \author{Joshua Bär} - \title{FM - Bessel} - \subtitle{} - \logo{} - \institute{OST Ostschweizer Fachhochschule} - \date{16.5.2022} - \subject{Mathematisches Seminar} - %\setbeamercovered{transparent} - \setbeamercovered{invisible} - \setbeamertemplate{navigation symbols}{} - \begin{frame}[plain] - \maketitle - \end{frame} -%------------------------------------------------------------------------------- -\section{Einführung} - \begin{frame} - \frametitle{Frequenzmodulation} - - \visible<1->{ - \begin{equation} \cos(\omega_c t+\beta\sin(\omega_mt)) - \end{equation}} - - \only<2>{\includegraphics[scale= 0.7]{images/fm_in_time.png}} - \only<3>{\includegraphics[scale= 0.7]{images/fm_frequenz.png}} - \only<4>{\includegraphics[scale= 0.7]{images/bessel_frequenz.png}} - - - \end{frame} -%------------------------------------------------------------------------------- -\section{Proof} -\begin{frame} - \frametitle{Bessel} - - \visible<1->{\begin{align} - \cos(\beta\sin\varphi) - &= - J_0(\beta) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) - \\ - \sin(\beta\sin\varphi) - &= - J_0(\beta) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) - \\ - J_{-n}(\beta) &= (-1)^n J_n(\beta) - \end{align}} - \visible<2->{\begin{align} - \cos(A + B) - &= - \cos(A)\cos(B)-\sin(A)\sin(B) - \\ - 2\cos (A)\cos (B) - &= - \cos(A-B)+\cos(A+B) - \\ - 2\sin(A)\sin(B) - &= - \cos(A-B)-\cos(A+B) - \end{align}} -\end{frame} - -%------------------------------------------------------------------------------- -\begin{frame} - \frametitle{Prof->Done} - \begin{align} - \cos(\omega_ct+\beta\sin(\omega_mt)) - &= - \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t) - \end{align} - \end{frame} -%------------------------------------------------------------------------------- - \begin{frame} - \begin{figure} - \only<1>{\includegraphics[scale = 0.75]{images/fm_frequenz.png}} - \only<2>{\includegraphics[scale = 0.75]{images/bessel_frequenz.png}} - \end{figure} - \end{frame} -%------------------------------------------------------------------------------- -\section{Input Parameter} - \begin{frame} - \frametitle{Träger-Frequenz Parameter} - \onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} - \only<1>{\includegraphics[scale=0.75]{images/100HZ.png}} - \only<2>{\includegraphics[scale=0.75]{images/200HZ.png}} - \only<3>{\includegraphics[scale=0.75]{images/300HZ.png}} - \only<4>{\includegraphics[scale=0.75]{images/400HZ.png}} - \end{frame} -%------------------------------------------------------------------------------- -\begin{frame} -\frametitle{Modulations-Frequenz Parameter} -\onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} -\only<1>{\includegraphics[scale=0.75]{images/fm_3Hz.png}} -\only<2>{\includegraphics[scale=0.75]{images/fm_5Hz.png}} -\only<3>{\includegraphics[scale=0.75]{images/fm_7Hz.png}} -\only<4>{\includegraphics[scale=0.75]{images/fm_10Hz.png}} -\only<5>{\includegraphics[scale=0.75]{images/fm_20Hz.png}} -\only<6>{\includegraphics[scale=0.75]{images/fm_30Hz.png}} -\end{frame} -%------------------------------------------------------------------------------- -\begin{frame} -\frametitle{Beta Parameter} - \onslide<1->{\begin{equation}\sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t)\end{equation}} - \only<1>{\includegraphics[scale=0.7]{images/beta_0.001.png}} - \only<2>{\includegraphics[scale=0.7]{images/beta_0.1.png}} - \only<3>{\includegraphics[scale=0.7]{images/beta_0.5.png}} - \only<4>{\includegraphics[scale=0.7]{images/beta_1.png}} - \only<5>{\includegraphics[scale=0.7]{images/beta_2.png}} - \only<6>{\includegraphics[scale=0.7]{images/beta_3.png}} - \only<7>{\includegraphics[scale=0.7]{images/bessel.png}} -\end{frame} -%------------------------------------------------------------------------------- -\begin{frame} - \includegraphics[scale=0.5]{images/beta_1.png} - \includegraphics[scale=0.5]{images/bessel.png} -\end{frame} -\end{document} diff --git a/buch/papers/fm/RS presentation/Frequency modulation (FM) and Bessel functions.pdf b/buch/papers/fm/RS presentation/Frequency modulation (FM) and Bessel functions.pdf deleted file mode 100644 index a6e701c..0000000 Binary files a/buch/papers/fm/RS presentation/Frequency modulation (FM) and Bessel functions.pdf and /dev/null differ diff --git a/buch/papers/fm/RS presentation/README.txt b/buch/papers/fm/RS presentation/README.txt deleted file mode 100644 index 4d0620f..0000000 --- a/buch/papers/fm/RS presentation/README.txt +++ /dev/null @@ -1 +0,0 @@ -Dies ist die Presentation des Reed-Solomon-Code \ No newline at end of file diff --git a/buch/papers/fm/RS presentation/RS.tex b/buch/papers/fm/RS presentation/RS.tex deleted file mode 100644 index 8a67619..0000000 --- a/buch/papers/fm/RS presentation/RS.tex +++ /dev/null @@ -1,123 +0,0 @@ -%% !TeX root = RS.tex - -\documentclass[11pt,aspectratio=169]{beamer} -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage[ngerman]{babel} -\usepackage{tikz} -\usetheme{Hannover} - -\begin{document} - \author{Joshua Bär} - \title{FM - Bessel} - \subtitle{} - \logo{} - \institute{OST Ostschweizer Fachhochschule} - \date{16.5.2022} - \subject{Mathematisches Seminar- Spezielle Funktionen} - %\setbeamercovered{transparent} - \setbeamercovered{invisible} - \setbeamertemplate{navigation symbols}{} - \begin{frame}[plain] - \maketitle - \end{frame} -%------------------------------------------------------------------------------- -\section{Einführung} - \begin{frame} - \frametitle{Frequenzmodulation} - - \visible<1->{\begin{equation} \cos(\omega_c t+\beta\sin(\omega_mt))\end{equation}} - - \only<2>{\includegraphics[scale= 0.7]{images/fm_in_time.png}} - \only<3>{\includegraphics[scale= 0.7]{images/fm_frequenz.png}} - \only<4>{\includegraphics[scale= 0.7]{images/bessel_frequenz.png}} - - - \end{frame} -%------------------------------------------------------------------------------- -\section{Proof} -\begin{frame} - \frametitle{Bessel} - - \visible<1->{\begin{align} - \cos(\beta\sin\varphi) - &= - J_0(\beat) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) - \\ - \sin(\beta\sin\varphi) - &= - J_0(\beat) + 2\sum_{m=1}^\infty J_{2m}(\beta) \cos(2m\varphi) - \\ - J_{-n}(\beat) &= (-1)^n J_n(\beta) - \end{align}} - \visible<2->{\begin{align} - \cos(A + B) - &= - \cos(A)\cos(B)-\sin(A)\sin(B) - \\ - 2\cos (A)\cos (B) - &= - \cos(A-B)+\cos(A+B) - \\ - 2\sin(A)\sin(B) - &= - \cos(A-B)-\cos(A+B) - \end{align}} -\end{frame} - -%------------------------------------------------------------------------------- -\begin{frame} - \frametitle{Prof->Done} - \begin{align} - \cos(\omega_ct+\beta\sin(\omega_mt)) - &= - \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omgea_m)t) - \end{align} - \end{frame} -%------------------------------------------------------------------------------- - \begin{frame} - \begin{figure} - \only<1>{\includegraphics[scale = 0.75]{images/fm_frequenz.png}} - \only<2>{\includegraphics[scale = 0.75]{images/bessel_frequenz.png}} - \end{figure} - \end{frame} -%------------------------------------------------------------------------------- -\section{Input Parameter} - \begin{frame} - \frametitle{Träger-Frequenz Parameter} - \onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} - \only<1>{\includegraphics[scale=0.75]{images/100HZ.png}} - \only<2>{\includegraphics[scale=0.75]{images/200HZ.png}} - \only<3>{\includegraphics[scale=0.75]{images/300HZ.png}} - \only<4>{\includegraphics[scale=0.75]{images/400HZ.png}} - \end{frame} -%------------------------------------------------------------------------------- -\begin{frame} -\frametitle{Modulations-Frequenz Parameter} -\onslide<1->{\begin{equation}\cos(\omega_ct+\beta\sin(\omega_mt))\end{equation}} -\only<1>{\includegraphics[scale=0.75]{images/fm_3Hz.png}} -\only<2>{\includegraphics[scale=0.75]{images/fm_5Hz.png}} -\only<3>{\includegraphics[scale=0.75]{images/fm_7Hz.png}} -\only<4>{\includegraphics[scale=0.75]{images/fm_10Hz.png}} -\only<5>{\includegraphics[scale=0.75]{images/fm_20Hz.png}} -\only<6>{\includegraphics[scale=0.75]{images/fm_30Hz.png}} -\end{frame} -%------------------------------------------------------------------------------- -\begin{frame} -\frametitle{Beta Parameter} - \onslide<1->{\begin{equation}\sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omgea_m)t)\end{equation}} - \only<1>{\includegraphics[scale=0.7]{images/beta_0.001.png}} - \only<2>{\includegraphics[scale=0.7]{images/beta_0.1.png}} - \only<3>{\includegraphics[scale=0.7]{images/beta_0.5.png}} - \only<4>{\includegraphics[scale=0.7]{images/beta_1.png}} - \only<5>{\includegraphics[scale=0.7]{images/beta_2.png}} - \only<6>{\includegraphics[scale=0.7]{images/beta_3.png}} - \only<7>{\includegraphics[scale=0.7]{images/bessel.png}} -\end{frame} -%------------------------------------------------------------------------------- -\begin{frame} - \includegraphics[scale=0.5]{images/beta_1.png} - \includegraphics[scale=0.5]{images/bessel.png} -\end{frame} -\end{document} diff --git a/buch/papers/fm/RS presentation/images/100HZ.png b/buch/papers/fm/RS presentation/images/100HZ.png deleted file mode 100644 index 371b9bf..0000000 Binary files a/buch/papers/fm/RS presentation/images/100HZ.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/200HZ.png b/buch/papers/fm/RS presentation/images/200HZ.png deleted file mode 100644 index f6836bd..0000000 Binary files a/buch/papers/fm/RS presentation/images/200HZ.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/300HZ.png b/buch/papers/fm/RS presentation/images/300HZ.png deleted file mode 100644 index 6762c1a..0000000 Binary files a/buch/papers/fm/RS presentation/images/300HZ.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/400HZ.png b/buch/papers/fm/RS presentation/images/400HZ.png deleted file mode 100644 index 236c428..0000000 Binary files a/buch/papers/fm/RS presentation/images/400HZ.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/bessel.png b/buch/papers/fm/RS presentation/images/bessel.png deleted file mode 100644 index f4c83ea..0000000 Binary files a/buch/papers/fm/RS presentation/images/bessel.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/bessel2.png b/buch/papers/fm/RS presentation/images/bessel2.png deleted file mode 100644 index ccda3f9..0000000 Binary files a/buch/papers/fm/RS presentation/images/bessel2.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/bessel_beta1.png b/buch/papers/fm/RS presentation/images/bessel_beta1.png deleted file mode 100644 index 1f5c47e..0000000 Binary files a/buch/papers/fm/RS presentation/images/bessel_beta1.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/bessel_frequenz.png b/buch/papers/fm/RS presentation/images/bessel_frequenz.png deleted file mode 100644 index 4f228b9..0000000 Binary files a/buch/papers/fm/RS presentation/images/bessel_frequenz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_0.001.png b/buch/papers/fm/RS presentation/images/beta_0.001.png deleted file mode 100644 index 7e4e276..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_0.001.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_0.1.png b/buch/papers/fm/RS presentation/images/beta_0.1.png deleted file mode 100644 index e7722b3..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_0.1.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_0.5.png b/buch/papers/fm/RS presentation/images/beta_0.5.png deleted file mode 100644 index 5261b43..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_0.5.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_1.png b/buch/papers/fm/RS presentation/images/beta_1.png deleted file mode 100644 index 6d3535c..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_1.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_2.png b/buch/papers/fm/RS presentation/images/beta_2.png deleted file mode 100644 index 6930eae..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_2.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/beta_3.png b/buch/papers/fm/RS presentation/images/beta_3.png deleted file mode 100644 index c6df82c..0000000 Binary files a/buch/papers/fm/RS presentation/images/beta_3.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_10Hz.png b/buch/papers/fm/RS presentation/images/fm_10Hz.png deleted file mode 100644 index 51bddc7..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_10Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_20hz.png b/buch/papers/fm/RS presentation/images/fm_20hz.png deleted file mode 100644 index 126ecf3..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_20hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_30Hz.png b/buch/papers/fm/RS presentation/images/fm_30Hz.png deleted file mode 100644 index 371b9bf..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_30Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_3Hz.png b/buch/papers/fm/RS presentation/images/fm_3Hz.png deleted file mode 100644 index d4098af..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_3Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_40Hz.png b/buch/papers/fm/RS presentation/images/fm_40Hz.png deleted file mode 100644 index 4cf11d4..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_40Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_5Hz.png b/buch/papers/fm/RS presentation/images/fm_5Hz.png deleted file mode 100644 index e495b5c..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_5Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_7Hz.png b/buch/papers/fm/RS presentation/images/fm_7Hz.png deleted file mode 100644 index b3dd7e3..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_7Hz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_frequenz.png b/buch/papers/fm/RS presentation/images/fm_frequenz.png deleted file mode 100644 index 26bfd86..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_frequenz.png and /dev/null differ diff --git a/buch/papers/fm/RS presentation/images/fm_in_time.png b/buch/papers/fm/RS presentation/images/fm_in_time.png deleted file mode 100644 index 068eafc..0000000 Binary files a/buch/papers/fm/RS presentation/images/fm_in_time.png and /dev/null differ -- cgit v1.2.1 From f064b343115255b4a6ae19cb09f397dcd8c6f25a Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Tue, 26 Jul 2022 16:23:27 +0200 Subject: 0f1, Mathe done --- buch/papers/0f1/references.bib | 92 ++++++++++++++++++------ buch/papers/0f1/teil0.tex | 2 +- buch/papers/0f1/teil1.tex | 82 ++++++++++++++-------- buch/papers/0f1/teil2.tex | 155 ++++++++++++++++++++++++++++++++++------- buch/papers/0f1/teil3.tex | 9 ++- 5 files changed, 255 insertions(+), 85 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/references.bib b/buch/papers/0f1/references.bib index fb9cd8b..2d3f874 100644 --- a/buch/papers/0f1/references.bib +++ b/buch/papers/0f1/references.bib @@ -4,32 +4,78 @@ % (c) 2020 Autor, Hochschule Rapperswil % -@online{0f1:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} +@online{0f1:library-gsl, + title = {GNU Scientific Library}, + url ={https://www.gnu.org/software/gsl/}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {19} } -@book{0f1:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} +@online{0f1:wiki-airyFunktion, + title = {Airy-Funktion}, + url ={https://de.wikipedia.org/wiki/Airy-Funktion}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {25} } -@article{0f1:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, - title = { Noncommutative harmonic analysis and image registration }, - journal = { Appl. Comput. Harmon. Anal.}, - year = 2019, - volume = 47, - pages = {607--627}, - url = {https://doi.org/10.1016/j.acha.2017.11.004} +@online{0f1:wiki-kettenbruch, + title = {Kettenbruch}, + url ={https://de.wikipedia.org/wiki/Kettenbruch}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {25} } +@online{0f1:double, + title = {C - Data Types}, + url ={https://www.tutorialspoint.com/cprogramming/c_data_types.htm}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {25} +} + +@online{0f1:wolfram-0f1, + title = {Hypergeometric 0F1}, + url ={https://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Hypergeometric0F1}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {25} +} + +@online{0f1:wiki-fraction, + title = {Gauss continued fraction}, + url ={https://en.wikipedia.org/wiki/Gauss%27s_continued_fraction}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {25} +} + +@book{0f1:SeminarNumerik, + title = {Mathematisches Seminar Numerik}, + author = {Andreas Müller, Benjamin Bouhafs-Keller, Daniel Bucher, Manuel Cattaneo +Patrick Elsener, Reto Fritsche, Niccolò Galliani, Tobias Grab +Thomas Kistler, Fabio Marti, Joël Rechsteiner, Cédric Renda +Michael Schmid, Mike Schmid, Michael Schneeberger +Martin Stypinski, Manuel Tischhauser, Nicolas Tobler +Raphael Unterer, Severin Weiss}, + publisher = {Andreas Müller}, + year = {2022}, +} + +@article{0f1:kettenbrueche, + author = { Benjamin Bouhafs-Keller }, + title = { Kettenbrüche }, + journal = { Mathematisches Seminar Numerik }, + year = 2020, + volume = 13, + pages = {363--376}, + url = {https://github.com/AndreasFMueller/SeminarNumerik} +} \ No newline at end of file diff --git a/buch/papers/0f1/teil0.tex b/buch/papers/0f1/teil0.tex index bfc265f..780d432 100644 --- a/buch/papers/0f1/teil0.tex +++ b/buch/papers/0f1/teil0.tex @@ -7,7 +7,7 @@ \rhead{Ausgangslage} Die Hypergeometrische Funktion $\mathstrut_0F_1$ wird in vielen Funktionen als Basisfunktion benutzt, zum Beispiel um die Airy Funktion zu berechnen. -In der GNU Scientific Library \cite{library-gsl} +In der GNU Scientific Library \cite{0f1:library-gsl} ist die Funktion $\mathstrut_0F_1$ vorhanden. Allerdings wirft die Funktion, bei negativen Übergabenwerten wie zum Beispiel \verb+gsl_sf_hyperg_0F1(1, -1)+, eine Exception. Bei genauerer Untersuchung hat sich gezeigt, dass die Funktion je nach Betriebssystem funktioniert oder eben nicht. diff --git a/buch/papers/0f1/teil1.tex b/buch/papers/0f1/teil1.tex index 910e8bb..2a60737 100644 --- a/buch/papers/0f1/teil1.tex +++ b/buch/papers/0f1/teil1.tex @@ -6,16 +6,40 @@ \section{Mathematischer Hintergrund \label{0f1:section:mathHintergrund}} \rhead{Mathematischer Hintergrund} +Basierend auf den Herleitungen des vorhergehenden Kapitels \ref{buch:rekursion:section:hypergeometrische-funktion} +und dem Seminarbuch Numerik \cite{0f1:kettenbrueche}, werden im nachfolgenden Abschnitt nochmals die Resultate +beschrieben. + +\subsection{Hypergeometrische Funktion +\label{0f1:subsection:hypergeometrisch}} +Als Grundlage der umgesetzten Algorithmen dient die Hypergeometrische Funktion $\mathstrut_0F_1$. Diese ist eine Unterfunktion der allgemein definierten Funktion $\mathstrut_pF_q$. -\subsection{Hypergeometrische Funktion $\mathstrut_0F_1$ -\label{0f1:subsection:0f1}} -Wie in Kapitel \ref{buch:rekursion:section:hypergeometrische-funktion} beschrieben, -wird die Funktion $\mathstrut_0F_1$ folgendermassen definiert. \begin{definition} - \label{0f1:rekursion:hypergeometrisch:def} - Die hypergeometrische Funktion - $\mathstrut_0F_1$ ist definiert durch die Reihe - \[ + \label{0f1:math:qFp:def} + Die hypergeometrische Funktion + $\mathstrut_pF_q$ ist definiert durch die Reihe + \[ + \mathstrut_pF_q + \biggl( + \begin{matrix} + a_1,\dots,a_p\\ + b_1,\dots,b_q + \end{matrix} + ; + x + \biggr) + = + \mathstrut_pF_q(a_1,\dots,a_p;b_1,\dots,b_q;x) + = + \sum_{k=0}^\infty + \frac{(a_1)_k\cdots(a_p)_k}{(b_1)_k\cdots(b_q)_k}\frac{x^k}{k!}. + \] +\end{definition} + +Angewendet auf die Funktion $\mathstrut_pF_q$ ergibt sich für $\mathstrut_0F_1$: + +\begin{equation} + \label{0f1:math:0f1:eq} \mathstrut_0F_1 \biggl( \begin{matrix} @@ -29,26 +53,29 @@ wird die Funktion $\mathstrut_0F_1$ folgendermassen definiert. \mathstrut_0F_1(;b_1;x) = \sum_{k=0}^\infty - \frac{1}{(b_1)_k}\frac{x^k}{k!}. - \] -\end{definition} + \frac{x^k}{(b_1)_k \cdot k!}. +\end{equation} + + \subsection{Airy Funktion \label{0f1:subsection:airy}} -Wie in \ref{buch:differentialgleichungen:section:hypergeometrisch} dargestellt, ist die Airy-Differentialgleichung -folgendermassen definiert. +Die Airy-Funktion $Ai(x)$ und die verwandte Funktion $Bi(x)$ werden als Airy-Funktion bezeichnet. Sie werden zur Lösung verschiedener physikalischer Probleme benutzt, wie zum Beispiel zur Lösung der Schrödinger-Gleichung. \cite{0f1:wiki-airyFunktion} + \begin{definition} - y'' - xy = 0 - \label{0f1:airy:eq:differentialgleichung} + \label{0f1:airy:differentialgleichung:def} + Die Differentialgleichung + $y'' - xy = 0$ + heisst die {\em Airy-Differentialgleichung}. \cite{0f1:wiki-airyFunktion} \end{definition} -Daraus ergibt sich wie in Aufgabe~\ref{503} gefundenen Lösungen der -Airy-Differentialgleichung als hypergeometrische Funktionen. +Die Airy Funktion lässt sich auf verschiedene Arten darstellen. \cite{0f1:wiki-airyFunktion} +Als hypergeometrische Funktion berechnet, ergibt sich wie in Kapitel \ref{buch:differentialgleichungen:section:hypergeometrisch} hergeleitet, folgende Lösungen der Airy-Differentialgleichung zu den Anfangsbedingungen $A(0)=1$ und $A'(0)=0$, sowie $B(0)=0$ und $B'(0)=0$. - -\begin{align*} -y_1(x) +\begin{align} +\label{0f1:airy:hypergeometrisch:eq} +Ai(x) = \sum_{k=0}^\infty \frac{1}{(\frac23)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k @@ -57,7 +84,7 @@ y_1(x) \begin{matrix}\text{---}\\\frac23\end{matrix};\frac{x^3}{9} \biggr). \\ -y_2(x) +Bi(x) = \sum_{k=0}^\infty \frac{1}{(\frac43)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k @@ -67,14 +94,9 @@ x\cdot\mathstrut_0F_1\biggl( \frac{x^3}{9} \biggr). \qedhere -\end{align*} +\end{align} + +In diesem speziellem Fall wird die Airy Funktion $Ai(x)$ \eqref{0f1:airy:hypergeometrisch:eq} +benutzt, um die Stabilität der Algorithmen zu $\mathstrut_0F_1$ zu überprüfen. -\begin{figure} - \centering - \includegraphics{papers/0f1/images/airy.pdf} - \caption{Plot der Lösungen der Airy-Differentialgleichung $y''-xy=0$ - zu den Anfangsbedingungen $y(0)=1$ und $y'(0)=0$ in {\color{red}rot} - und $y(0)=0$ und $y'(0)=1$ in {\color{blue}blau}. - \label{0f1:airy:plot:vorgabe}} -\end{figure} \ No newline at end of file diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index 07e17c0..446bc93 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -6,56 +6,158 @@ \section{Umsetzung \label{0f1:section:teil2}} \rhead{Umsetzung} -Zur Umsetzung wurden drei Ansätze gewählt und -Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. +Zur Umsetzung wurden drei verschiedene Ansätze gewählt. Dabei wurde der Schwerpunkt auf die Funktionalität und eine gute Lesbarkeit des Codes gelegt. +Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. Die Zwischenresultate wurden vom Hauptprogramm in einem CSV-File gespeichert. Anschliessen wurde mit der Matplot-Libray in Python die Resultate geplottet. \subsection{Potenzreihe \label{0f1:subsection:potenzreihe}} -Die naheliegendste Lösung ist die Programmierung der Potenzreihe. +Die naheliegendste Lösung ist die Programmierung der Potenzreihe. Allerdings ist ein Problem dieser Umsetzung \ref{0f1:listing:potenzreihe}, dass die Fakultät im Nenner schnell grosse Werte annimmt und so der Bruch gegen Null strebt. Spätesten ab $k=167$ stösst diese Umsetzung \eqref{0f1:umsetzung:0f1:eq} an ihre Grenzen, da die Fakultät von $168$ eine Bereichsüberschreitung des \textit{double} Bereiches darstellt. \cite{0f1:double} -\begin{equation} - \label{0f1:rekursion:hypergeometrisch:eq} +\begin{align} + \label{0f1:umsetzung:0f1:eq} \mathstrut_0F_1(;b;z) - = + &= \sum_{k=0}^\infty \frac{z^k}{(b)_k \cdot k!} -\end{equation} + &= + \frac{1}{b} + +\frac{z^1}{(1+b) \cdot 1} + + \cdots + + \frac{z^{20}}{(20+b) \cdot 2.4 \cdot 10^{18}} +\end{align} -\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:potenzreihe}]{papers/0f1/listings/potenzreihe.c} +\lstinputlisting[style=C,float,caption={Potenzreihe.},label={0f1:listing:potenzreihe}]{papers/0f1/listings/potenzreihe.c} \subsection{Kettenbruch \label{0f1:subsection:kettenbruch}} Ein endlicher Kettenbruch ist ein Bruch der Form +\begin{equation*} +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{b_3}{a_3+\cdots}}} +\end{equation*} +in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen darstellen. + +Die Kurzschreibweise für einen allgemeinen Kettenbruch ist +\begin{equation*} + a_0 + \frac{a_1|}{|b_1} + \frac{a_2|}{|b_2} + \frac{a_3|}{|b_3} + \cdots +\end{equation*} +und ist somit verknüpfbar mit der Potenzreihe. +\cite{0f1:wiki-kettenbruch} + +Angewendet auf die Funktion $\mathstrut_0F_1$ bedeutet dies: +\begin{equation*} + \mathstrut_0F_1(;b;z) = 1 + \frac{z}{a1!} + \frac{z^2}{a(a+1)2!} + \frac{z^3}{a(a+1)(a+2)3!} + \cdots +\end{equation*} +\cite{0f1:wiki-fraction} + +Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f1:math:kettenbruch:0f1:eq} \begin{equation} -a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} + \label{0f1:math:kettenbruch:0f1:eq} + \mathstrut_0F_1(;b;z) = 1 + \cfrac{\cfrac{z}{b}}{1+\cfrac{-\cfrac{z}{2(1+b)}}{1+\cfrac{z}{2(1+b)}+\cfrac{-\cfrac{z}{3(2+b)}}{1+\cfrac{z}{5(4+b)} + \cdots}}}, \end{equation} -in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen -darstellen. +der als Code \ref{0f1:listing:kettenbruchIterativ} umgesetzt wurde. +\cite{0f1:wolfram-0f1} -{\color{red}TODO: Bessere Beschreibung mit Verknüpfung zur Potenzreihe} +\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}]{papers/0f1/listings/kettenbruchIterativ.c} -%Gauss hat durch - -\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}]{papers/0f1/listings/kettenbruchIterativ.c} \subsection{Rekursionsformel \label{0f1:subsection:rekursionsformel}} -Wesentlich effizienter zur Berechnung eines Kettenbruches ist die Rekursionsformel. +Wesentlich stabiler zur Berechnung eines Kettenbruches ist die Rekursionsformel. Nachfolgend wird die verkürzte Herleitung vom Kettenbruch zur Rekursionsformel aufgezeigt. Eine vollständige Schritt für Schritt Herleitung ist im Seminarbuch Numerik, im Kapitel Kettenbrüche zu finden. \cite{0f1:kettenbrueche}) + +\subsubsection{Verkürzte Herleitung} +Ein Näherungsbruch in der Form +\begin{align*} + \cfrac{A_k}{B_k} = a_k + \cfrac{b_{k + 1}}{a_{k + 1} + \cfrac{p}{q}} +\end{align*} +lässt sich zu +\begin{align*} + \cfrac{A_k}{B_k} = \cfrac{b_{k+1}}{a_{k+1} + \cfrac{p}{q}} = \frac{b_{k+1} \cdot q}{a_{k+1} \cdot q + p} +\end{align*} +umformen. +Dies lässt sich auch durch die folgende Matrizenschreibweise ausdrücken: +\begin{equation*} + \begin{pmatrix} + A_k\\ + B_k + \end{pmatrix} + = \begin{pmatrix} + b_{k+1} \cdot q\\ + a_{k+1} \cdot q + p + \end{pmatrix} + =\begin{pmatrix} + 0& b_{k+1}\\ + 1& a_{k+1} + \end{pmatrix} + \begin{pmatrix} + p \\ + q + \end{pmatrix}. + %\label{0f1:math:rekursionsformel:herleitung} +\end{equation*} + +Wendet man dies nun auf den Kettenbruch in der Form +\begin{equation*} + \frac{A_k}{B_k} = a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{k-1}}{a_{k-1} + \cfrac{b_k}{a_k}}}}} +\end{equation*} +an, ergibt sich folgende Matrixdarstellungen: \begin{align*} -\frac{A_n}{B_n} -= -a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{n-1}}{a_{n-1} + \cfrac{b_n}{a_n}}}}} + \begin{pmatrix} + A_k\\ + B_k + \end{pmatrix} + &= + \begin{pmatrix} + 1& a_0\\ + 0& 1 + \end{pmatrix} + \begin{pmatrix} + 0& b_1\\ + 1& a_1 + \end{pmatrix} + \cdots + \begin{pmatrix} + 0& b_{k-1}\\ + 1& a_{k-1} + \end{pmatrix} + \begin{pmatrix} + b_k\\ + a_k + \end{pmatrix} \end{align*} -Die Berechnung von $A_n, B_n$ kann man auch ohne die Matrizenschreibweise -aufschreiben: +Nach vollständiger Induktion ergibt sich für den Schritt $k$, die Matrix +\begin{equation} + \label{0f1:math:matrix:ende:eq} + \begin{pmatrix} + A_{k}\\ + B_{k} + \end{pmatrix} + = + \begin{pmatrix} + A_{k-2}& A_{k-1}\\ + B_{k-2}& B_{k-1} + \end{pmatrix} + \begin{pmatrix} + b_k\\ + a_k + \end{pmatrix}. +\end{equation} + +Und Schlussendlich kann der Näherungsbruch +\[ +\frac{Ak}{Bk} +\] +berechnet werden. + + +\subsubsection{Lösung} +Die Berechnung von $A_k, B_k$ \eqref{0f1:math:matrix:ende:eq} kann man auch ohne die Matrizenschreibweise aufschreiben: \cite{0f1:wiki-fraction} \begin{itemize} -\item Start: +\item Startbedingungen: \begin{align*} A_{-1} &= 0 & A_0 &= a_0 \\ B_{-1} &= 1 & B_0 &= 1 \end{align*} -$\rightarrow$ 0-te Näherung: $\displaystyle\frac{A_0}{B_0} = a_0$ \item Schritt $k\to k+1$: \[ \begin{aligned} @@ -67,9 +169,10 @@ B_{k+1} &= B_{k-1} \cdot b_k + B_k \cdot a_k \end{aligned} \] \item -Näherungsbruch $n$: \qquad$\displaystyle\frac{A_n}{B_n}$ +Näherungsbruch: \qquad$\displaystyle\frac{A_k}{B_k}$ \end{itemize} -{\color{red}TODO: Verweis Numerik} +Ein grosser Vorteil dieser Umsetzung \ref{0f1:listing:kettenbruchRekursion} ist, dass im Vergleich zum Code \ref{0f1:listing:kettenbruchIterativ} eine Division gespart werden kann und somit weniger Folgefehler entstehen können. -\lstinputlisting[style=C,float,caption={Rekursivformel für Kettenbruch.},label={0f1:listing:kettenbruchRekursion}]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file +%Code +\lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchRekursion}]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index 44a4600..76d6e32 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -10,15 +10,14 @@ Im Verlauf des Seminares hat sich gezeigt, das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen x in der Funktion $\mathstrut_0F_1(;b;x)$. Ebenso wird, je grösser der Wert x wird $\mathstrut_0F_1(;b;x)$, desto mehr weichen die berechneten Resultate -von den erwarteten ab. -{\color{red}TODO cite wolfram alpha rechner} +von den Erwarteten ab. \cite{0f1:wolfram-0f1} \subsection{Auswertung \label{0f1:subsection:auswertung}} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} - \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion. + \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion zu den Anfangsbedingungen $y(0)=1$ und $y'(0)=0$. \label{0f1:ausblick:plot:airy:konvergenz}} \end{figure} @@ -52,6 +51,6 @@ von den erwarteten ab. \subsection{Ausblick \label{0f1:subsection:ausblick}} - - +Eine mögliche Lösung zum Problem ist \cite{0f1:SeminarNumerik} +{\color{red} TODO beschreiben Lösung} -- cgit v1.2.1 From 336251607dae5947b3690bbc91e4c57036910d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 26 Jul 2022 18:53:07 +0200 Subject: fix references.bib --- buch/papers/0f1/references.bib | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/references.bib b/buch/papers/0f1/references.bib index 2d3f874..ce9b8da 100644 --- a/buch/papers/0f1/references.bib +++ b/buch/papers/0f1/references.bib @@ -60,12 +60,7 @@ @book{0f1:SeminarNumerik, title = {Mathematisches Seminar Numerik}, - author = {Andreas Müller, Benjamin Bouhafs-Keller, Daniel Bucher, Manuel Cattaneo -Patrick Elsener, Reto Fritsche, Niccolò Galliani, Tobias Grab -Thomas Kistler, Fabio Marti, Joël Rechsteiner, Cédric Renda -Michael Schmid, Mike Schmid, Michael Schneeberger -Martin Stypinski, Manuel Tischhauser, Nicolas Tobler -Raphael Unterer, Severin Weiss}, + author = {Andreas Müller et al}, publisher = {Andreas Müller}, year = {2022}, } @@ -78,4 +73,4 @@ Raphael Unterer, Severin Weiss}, volume = 13, pages = {363--376}, url = {https://github.com/AndreasFMueller/SeminarNumerik} -} \ No newline at end of file +} -- cgit v1.2.1 From c53e9fe25866376d1b3086579c01725444a04702 Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Tue, 26 Jul 2022 21:27:23 +0200 Subject: 0f1, Code ueberarbeitet --- buch/papers/0f1/listings/kettenbruchIterativ.c | 16 +++++-- buch/papers/0f1/listings/kettenbruchRekursion.c | 22 ++++++---- buch/papers/0f1/listings/potenzreihe.c | 56 +++++++++++++++++++++++++ buch/papers/0f1/teil2.tex | 6 +-- 4 files changed, 86 insertions(+), 14 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/listings/kettenbruchIterativ.c b/buch/papers/0f1/listings/kettenbruchIterativ.c index befea8e..d897b8f 100644 --- a/buch/papers/0f1/listings/kettenbruchIterativ.c +++ b/buch/papers/0f1/listings/kettenbruchIterativ.c @@ -1,5 +1,13 @@ -static double fractionRekursion0f1(const double c, const double x, unsigned int n) +/** + * @brief Calculates the Hypergeometric Function 0F1(;b;z) + * @param b0 in 0F1(;b0;z) + * @param z in 0F1(;b0;z) + * @param n number of itertions (precision) + * @return Result + */ +static double fractionRekursion0f1(const double c, const double z, unsigned int n) { + //declaration double a = 0.0; double b = 0.0; double Ak = 0.0; @@ -21,15 +29,15 @@ static double fractionRekursion0f1(const double c, const double x, unsigned int else if (k == 1) { a = 1.0; //a1 - b = x/c; //b1 + b = z/c; //b1 //recursion fomula for A1, B1 Ak = a * Ak_1 + b * 1.0; Bk = a * Bk_1; } else { - a = 1 + (x / (k * ((k - 1) + c)));//ak - b = -(x / (k * ((k - 1) + c))); //bk + a = 1 + (z / (k * ((k - 1) + c)));//ak + b = -(z / (k * ((k - 1) + c))); //bk //recursion fomula for Ak, Bk Ak = a * Ak_1 + b * Ak_2; Bk = a * Bk_1 + b * Bk_2; diff --git a/buch/papers/0f1/listings/kettenbruchRekursion.c b/buch/papers/0f1/listings/kettenbruchRekursion.c index 958d4e1..143683f 100644 --- a/buch/papers/0f1/listings/kettenbruchRekursion.c +++ b/buch/papers/0f1/listings/kettenbruchRekursion.c @@ -1,18 +1,26 @@ -static double fractionIter0f1(const double b0, const double z, unsigned int n) +/** + * @brief Calculates the Hypergeometric Function 0F1(;c;z) + * @param c in 0F1(;c;z) + * @param z in 0F1(;c;z) + * @param k number of itertions (precision) + * @return Result + */ +static double fractionIter0f1(const double c, const double z, unsigned int k) { + //declaration double a = 0.0; double b = 0.0; - double abn = 0.0; + double abk = 0.0; double temp = 0.0; - for (; n > 0; --n) + for (; k > 0; --k) { - abn = z / (n * ((n - 1) + b0)); //abn = ak, bk + abk = z / (k * ((k - 1) + c)); //abk = ak, bk - a = n > 1 ? (1 + abn) : 1; //a0, a1 - b = n > 1 ? -abn : abn; //b1 + a = k > 1 ? (1 + abk) : 1; //a0, a1 + b = k > 1 ? -abk : abk; //b1 - temp = b / (a + temp); + temp = b / (a + temp); ////bk / (ak + last result) } return a + temp; //a0 + temp diff --git a/buch/papers/0f1/listings/potenzreihe.c b/buch/papers/0f1/listings/potenzreihe.c index bfaa0e3..3eb9b86 100644 --- a/buch/papers/0f1/listings/potenzreihe.c +++ b/buch/papers/0f1/listings/potenzreihe.c @@ -1,5 +1,61 @@ #include +/** + * @brief Calculates pochhammer + * @param (a+n-1)! + * @return Result + */ +static double pochhammer(const double x, double n) +{ + double temp = x; + + if (n > 0) + { + while (n > 1) + { + temp *= (x + n - 1); + --n; + } + + return temp; + } + else + { + return 1; + } +} + +/** + * @brief Calculates the Factorial + * @param n! + * @return Result + */ +static double fac(int n) +{ + double temp = n; + + if (n > 0) + { + while (n > 1) + { + --n; + temp *= n; + } + return temp; + } + else + { + return 1; + } +} + +/** + * @brief Calculates the Hypergeometric Function 0F1(;b;z) + * @param b0 in 0F1(;b0;z) + * @param z in 0F1(;b0;z) + * @param n number of itertions (precision) + * @return Result + */ static double powerseries(const double b, const double z, unsigned int n) { double temp = 0.0; diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index 446bc93..ca48e6e 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -26,7 +26,7 @@ Die naheliegendste Lösung ist die Programmierung der Potenzreihe. Allerdings is + \frac{z^{20}}{(20+b) \cdot 2.4 \cdot 10^{18}} \end{align} -\lstinputlisting[style=C,float,caption={Potenzreihe.},label={0f1:listing:potenzreihe}]{papers/0f1/listings/potenzreihe.c} +\lstinputlisting[style=C,float,caption={Potenzreihe.},label={0f1:listing:potenzreihe}, firstline=59]{papers/0f1/listings/potenzreihe.c} \subsection{Kettenbruch \label{0f1:subsection:kettenbruch}} @@ -57,7 +57,7 @@ Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f der als Code \ref{0f1:listing:kettenbruchIterativ} umgesetzt wurde. \cite{0f1:wolfram-0f1} -\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}]{papers/0f1/listings/kettenbruchIterativ.c} +\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}, firstline=8]{papers/0f1/listings/kettenbruchIterativ.c} \subsection{Rekursionsformel \label{0f1:subsection:rekursionsformel}} @@ -175,4 +175,4 @@ Näherungsbruch: \qquad$\displaystyle\frac{A_k}{B_k}$ Ein grosser Vorteil dieser Umsetzung \ref{0f1:listing:kettenbruchRekursion} ist, dass im Vergleich zum Code \ref{0f1:listing:kettenbruchIterativ} eine Division gespart werden kann und somit weniger Folgefehler entstehen können. %Code -\lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchRekursion}]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file +\lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchRekursion}, firstline=8]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file -- cgit v1.2.1 From 7a1207f6d66f245cda06e06ecbae1ec0d6a99b02 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 27 Jul 2022 00:14:54 +0200 Subject: eqref->ref, Improved some sentences --- buch/papers/lambertw/teil0.tex | 48 ++++++++++++++++++++++-------------------- buch/papers/lambertw/teil1.tex | 30 +++++++++++++------------- 2 files changed, 40 insertions(+), 38 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 36ef7c3..6ab0bae 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -7,10 +7,10 @@ \label{lambertw:section:Was_sind_Verfolgungskurven}} \rhead{Was sind Verfolgungskurven?} -Verfolgungskurven tauchen oft auf bei Fragen wie welchen Pfad begeht ein Hund während er einer Katze nachrennt. +Verfolgungskurven tauchen oft auf bei Fragen wie "Welchen Pfad begeht ein Hund während er einer Katze nachrennt.". Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. Der Verfolger verfolgt sein Ziel, das versucht zu entkommen. -Der Pfad, der der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. +Der Pfad, den der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. Um diese Kurve zu bestimmen, kann das Verfolgungsproblem als Differentialgleichung formuliert werden. Diese Differentialgleichung entspringt der Verfolgungsstrategie des Verfolgers. @@ -30,64 +30,66 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um \centering \begin{tabular}{|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|} \hline - \text{}&\text{Geschwindigkeit}&\text{Abstand}&\text{Richtung}\\ + \text{Strategie}&\text{Geschwindigkeit}&\text{Abstand}&\text{Richtung}\\ \hline - \text{Strategie 1} + \text{Jagd} & \text{konstant} & \text{-} & \text{direkt auf Ziel hinzu}\\ - \text{Strategie 2} + \text{Beschattung} & \text{-} & \text{konstant} & \text{direkt auf Ziel hinzu}\\ - \text{Strategie 3} + \text{Vorhalt} & \text{konstant} & \text{-} & \text{etwas voraus Zielen}\\ \hline \end{tabular} \caption{mögliche Verfolgungsstrategien} \label{lambertw:table:Strategien} \end{table} - +% \begin{figure} \centering \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.pdf} \caption{Vektordarstellung Strategie 1} \label{lambertw:grafic:pursuerDGL2} \end{figure} - -In der Tabelle \eqref{lambertw:table:Strategien} sind drei mögliche Strategien aufgezählt. +% +In der Tabelle \ref{lambertw:table:Strategien} sind drei mögliche Strategien aufgezählt. Im Folgenden wird nur noch auf die Strategie 1 eingegangen. Bei dieser Strategie ist die Geschwindigkeit konstant und der Verfolger bewegt sich immer direkt auf sein Ziel zu. -In der Abbildung \eqref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, -wobei $\vec{V}$ der Ortsvektor des Verfolgers, $\vec{Z}$ der Ortsvektor des Ziels und $\dot{\vec{V}}$ der Geschwindigkeitsvektor des Verfolgers ist. +Der Verfolger und sein Ziel werden als Punkte $V$ und $Z$ modelliert. + +In der Abbildung \ref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, +wobei $v$ der Ortsvektor des Verfolgers, $z$ der Ortsvektor des Ziels und $\dot{v}$ der Geschwindigkeitsvektor des Verfolgers ist. Die konstante Geschwindigkeit kann man mit der Gleichung \begin{equation} - |\dot{\vec{V}}| + |\dot{v}| = \operatorname{const} = A \quad A\in\mathbb{R}>0 \end{equation} darstellen. Der Geschwindigkeitsvektor wiederum kann mit der Gleichung \begin{equation} - \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot|\dot{\vec{V}}| + \frac{z-v}{|z-v|}\cdot|\dot{v}| = - \dot{\vec{V}} + \dot{v} \end{equation} beschrieben werden. -Die Differenz der Ortsvektoren $\vec{V}$ und $\vec{Z}$ ist ein Vektor der vom Punkt $V$ auf $Z$ zeigt. +Die Differenz der Ortsvektoren $v$ und $z$ ist ein Vektor der vom Punkt $V$ auf $Z$ zeigt. Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, die Länge auf eins festgelegt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. -Nun wird die Gleichung mit $\dot{\vec{V}}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. Somit ergeben sich +Nun wird die Gleichung mit $\dot{v}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. Somit ergeben sich \begin{align} - \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot|\dot{\vec{V}}|\cdot\dot{\vec{V}} + \frac{z-v}{|z-v|}\cdot|\dot{v}|\cdot\dot{v} &= - |\dot{\vec{V}}|^2 + |\dot{v}|^2 \\ \label{lambertw:pursuerDGL} - \frac{\vec{Z}-\vec{V}}{|\vec{Z}-\vec{V}|}\cdot \frac{\dot{\vec{V}}}{|\dot{\vec{V}}|} + \frac{z-v}{|z-v|}\cdot \frac{\dot{v}}{|\dot{v}|} &= 1 \text{.} \end{align} Die Lösungen dieser Differentialgleichung sind die gesuchten Verfolgungskurven, insofern der Verfolger die Strategie 1 verwendet. - +% \subsection{Ziel \label{lambertw:subsection:Ziel}} Als nächstes gehen wir auf das Ziel ein. @@ -96,14 +98,14 @@ Diese Strategie kann als Parameterdarstellung der Position nach der Zeit beschri Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebene mit der Parametrisierung \begin{equation} - \vec{Z}(t) + z(t) = \left( \begin{array}{c} 0 \\ t \end{array} \right) \end{equation} - +% beschrieben werden könnte. Mit dieser Gleichung ist das Ziel auch schon vollumfänglich definiert. -Die Fluchtkurve kann eine beliebige Form haben, jedoch wird die zu lösende Differentialgleichung für die Verfolgungskurve immer komplexer. +Für die Fluchtkurve kann eine beliebige Form gewählt werden, jedoch wird die zu lösende Differentialgleichung für die Verfolgungskurve komplexer. diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index fa7deb1..2e75a19 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -15,7 +15,7 @@ Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel bet %\subsection{Ziel erreichen (überarbeiten) %\label{lambertw:subsection:ZielErreichen}} Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. -Wir verwenden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} für Startbedingung im ersten Quadranten +Dazu werden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} mit Startbedingung im ersten Quadranten verwendet, welche \begin{align*} x\left(t\right) &= @@ -25,15 +25,16 @@ Wir verwenden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} für S \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right)\\ \chi &= - \frac{r_0+y_0}{r_0-y_0}\\ + \frac{r_0+y_0}{r_0-y_0}, \quad \eta - &= - \left(\frac{x}{x_0}\right)^2\\ + = + \left(\frac{x}{x_0}\right)^2,\quad r_0 - &= - \sqrt{x_0^2+y_0^2} \text{.}\\ + = + \sqrt{x_0^2+y_0^2} \end{align*} % +sind. Das Ziel wird erreicht, wenn die Koordinaten des Verfolgers mit denen des Ziels bei einem diskreten Zeitpunkt $t_1$ übereinstimmen. Somit gilt es @@ -60,7 +61,7 @@ und der Verfolger durch \text{.} \end{equation} % - Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der x- und y-Koordinaten einzeln überprüft werden. Es entstehen daher folgende Bedingungen + Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der $x$- und $y$-Koordinaten einzeln überprüft werden. Es entstehen daher folgende Bedingungen \begin{align*} 0 @@ -73,12 +74,11 @@ und der Verfolger durch &= y(t) = - \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right) - \\ + \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right)\text{,} \end{align*} % -, welche Beide gleichzeitig erfüllt sein müssen, damit das Ziel erreicht wurde. -Zuerst wird die Bedingung der x-Koordinate betrachtet. +welche Beide gleichzeitig erfüllt sein müssen, damit das Ziel erreicht wurde. +Zuerst wird die Bedingung der $x$-Koordinate betrachtet. Diese kann durch dividieren durch $x_0$, anschliessendes quadrieren und multiplizieren von $\chi$ vereinfacht werden. Daraus folgt \begin{equation} 0 @@ -107,10 +107,10 @@ Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingu Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Einholen möglich wäre. Somit kann nach den Gestellten Bedingungen das Ziel nie erreicht werden. -Aus der Symmetrie des Problems an der y-Achse können auch alle Anfangspunkte im zweiten Quadranten die Bedingungen nicht erfüllen. +Aus der Symmetrie des Problems an der $y$-Achse können auch alle Anfangspunkte im zweiten Quadranten die Bedingungen nicht erfüllen. Bei allen Anfangspunkten mit $y_0<0$ ist ein Einholen unmöglich, da die Geschwindigkeit des Verfolgers und Ziels übereinstimmen und der Verfolger dem Ziel bereits am Anfang nachgeht. -Wenn die Wertemenge der Anfangsbedingung um die positive y-Achse erweitert wird, kann das Ziel wiederum erreicht werden. -Sobald der Verfolger auf der positiven y-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt und der Verfolger sich auf der Fluchtgeraden befindet. +Wenn die Wertemenge der Anfangsbedingung um die positive $y$-Achse erweitert wird, kann das Ziel wiederum erreicht werden. +Sobald der Verfolger auf der positiven $y$-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt und der Verfolger sich auf der Fluchtgeraden befindet. Dies führt zwingend dazu, dass der Verfolger das Ziel erreichen wird. Die Verfolgungskurve kann in diesem Fall mit @@ -141,7 +141,7 @@ Daraus folgt \end{equation} % führt. -Nun ist klar, dass lediglich Anfangspunkte auf der positiven y-Achse oder direkt auf dem Ziel dazu führen, dass der Verfolger das Ziel bei $t_1$ einholt. +Nun ist klar, dass lediglich Anfangspunkte auf der positiven $y$-Achse oder direkt auf dem Ziel dazu führen, dass der Verfolger das Ziel bei $t_1$ einholt. Bei allen anderen Anfangspunkten wird der Verfolger das Ziel nie erreichen. Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. -- cgit v1.2.1 From 220b382cf4b7019b199c3023ddab73ba2658e27a Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Wed, 27 Jul 2022 13:08:39 +0200 Subject: 0f1, bilder --- buch/papers/0f1/images/airy.pdf | Bin 25568 -> 0 bytes buch/papers/0f1/images/konvergenzAiry.pdf | Bin 15137 -> 15785 bytes buch/papers/0f1/images/konvergenzNegativ.pdf | Bin 16312 -> 18155 bytes buch/papers/0f1/images/konvergenzPositiv.pdf | Bin 18924 -> 18581 bytes buch/papers/0f1/images/stabilitaet.pdf | Bin 20944 -> 19612 bytes buch/papers/0f1/listings/kettenbruchRekursion.c | 8 +- buch/papers/0f1/listings/potenzreihe.c | 8 +- buch/papers/0f1/main.tex | 48 ++-- buch/papers/0f1/teil0.tex | 30 +- buch/papers/0f1/teil1.tex | 204 +++++++------- buch/papers/0f1/teil2.tex | 354 ++++++++++++------------ buch/papers/0f1/teil3.tex | 112 ++++---- 12 files changed, 382 insertions(+), 382 deletions(-) delete mode 100644 buch/papers/0f1/images/airy.pdf (limited to 'buch/papers') diff --git a/buch/papers/0f1/images/airy.pdf b/buch/papers/0f1/images/airy.pdf deleted file mode 100644 index 672d789..0000000 Binary files a/buch/papers/0f1/images/airy.pdf and /dev/null differ diff --git a/buch/papers/0f1/images/konvergenzAiry.pdf b/buch/papers/0f1/images/konvergenzAiry.pdf index 2e635ea..206cd3a 100644 Binary files a/buch/papers/0f1/images/konvergenzAiry.pdf and b/buch/papers/0f1/images/konvergenzAiry.pdf differ diff --git a/buch/papers/0f1/images/konvergenzNegativ.pdf b/buch/papers/0f1/images/konvergenzNegativ.pdf index 3b58be4..03b2ba1 100644 Binary files a/buch/papers/0f1/images/konvergenzNegativ.pdf and b/buch/papers/0f1/images/konvergenzNegativ.pdf differ diff --git a/buch/papers/0f1/images/konvergenzPositiv.pdf b/buch/papers/0f1/images/konvergenzPositiv.pdf index 24e3fd5..2e45129 100644 Binary files a/buch/papers/0f1/images/konvergenzPositiv.pdf and b/buch/papers/0f1/images/konvergenzPositiv.pdf differ diff --git a/buch/papers/0f1/images/stabilitaet.pdf b/buch/papers/0f1/images/stabilitaet.pdf index be4af42..13dea39 100644 Binary files a/buch/papers/0f1/images/stabilitaet.pdf and b/buch/papers/0f1/images/stabilitaet.pdf differ diff --git a/buch/papers/0f1/listings/kettenbruchRekursion.c b/buch/papers/0f1/listings/kettenbruchRekursion.c index 143683f..3caaf43 100644 --- a/buch/papers/0f1/listings/kettenbruchRekursion.c +++ b/buch/papers/0f1/listings/kettenbruchRekursion.c @@ -17,11 +17,11 @@ static double fractionIter0f1(const double c, const double z, unsigned int k) { abk = z / (k * ((k - 1) + c)); //abk = ak, bk - a = k > 1 ? (1 + abk) : 1; //a0, a1 - b = k > 1 ? -abk : abk; //b1 + a = k > 1 ? (1 + abk) : 1; //a0, a1 + b = k > 1 ? -abk : abk; //b1 - temp = b / (a + temp); ////bk / (ak + last result) + temp = b / (a + temp); //bk / (ak + last result) } - return a + temp; //a0 + temp + return a + temp; //a0 + temp } \ No newline at end of file diff --git a/buch/papers/0f1/listings/potenzreihe.c b/buch/papers/0f1/listings/potenzreihe.c index 3eb9b86..23fdfea 100644 --- a/buch/papers/0f1/listings/potenzreihe.c +++ b/buch/papers/0f1/listings/potenzreihe.c @@ -51,18 +51,18 @@ static double fac(int n) /** * @brief Calculates the Hypergeometric Function 0F1(;b;z) - * @param b0 in 0F1(;b0;z) - * @param z in 0F1(;b0;z) + * @param c in 0F1(;c;z) + * @param z in 0F1(;c;z) * @param n number of itertions (precision) * @return Result */ -static double powerseries(const double b, const double z, unsigned int n) +static double powerseries(const double c, const double z, unsigned int n) { double temp = 0.0; for (unsigned int k = 0; k < n; ++k) { - temp += pow(z, k) / (factorial(k) * pochhammer(b, k)); + temp += pow(z, k) / (factorial(k) * pochhammer(c, k)); } return temp; diff --git a/buch/papers/0f1/main.tex b/buch/papers/0f1/main.tex index b8cdc21..0b1020f 100644 --- a/buch/papers/0f1/main.tex +++ b/buch/papers/0f1/main.tex @@ -1,24 +1,24 @@ -% -% main.tex -- Paper zum Thema <0f1> -% -% (c) 2020 Hochschule Rapperswil -% -% - - - -\chapter{Algorithmus zur Berechnung von $\mathstrut_0F_1$\label{chapter:0f1}} -\lhead{Algorithmus zur Berechnung von $\mathstrut_0F_1$} -\begin{refsection} -\chapterauthor{Fabian Dünki} - - - - -\input{papers/0f1/teil0.tex} -\input{papers/0f1/teil1.tex} -\input{papers/0f1/teil2.tex} -\input{papers/0f1/teil3.tex} - -\printbibliography[heading=subbibliography] -\end{refsection} +% +% main.tex -- Paper zum Thema <0f1> +% +% (c) 2020 Hochschule Rapperswil +% +% + + + +\chapter{Algorithmus zur Berechnung von $\mathstrut_0F_1$\label{chapter:0f1}} +\lhead{Algorithmus zur Berechnung von $\mathstrut_0F_1$} +\begin{refsection} +\chapterauthor{Fabian Dünki} + + + + +\input{papers/0f1/teil0.tex} +\input{papers/0f1/teil1.tex} +\input{papers/0f1/teil2.tex} +\input{papers/0f1/teil3.tex} + +\printbibliography[heading=subbibliography] +\end{refsection} diff --git a/buch/papers/0f1/teil0.tex b/buch/papers/0f1/teil0.tex index 780d432..adccac7 100644 --- a/buch/papers/0f1/teil0.tex +++ b/buch/papers/0f1/teil0.tex @@ -1,15 +1,15 @@ -% -% einleitung.tex -- Einleitung -% -% (c) 2022 Fabian Dünki, Hochschule Rapperswil -% -\section{Ausgangslage\label{0f1:section:ausgangslage}} -\rhead{Ausgangslage} -Die Hypergeometrische Funktion $\mathstrut_0F_1$ wird in vielen Funktionen als Basisfunktion benutzt, -zum Beispiel um die Airy Funktion zu berechnen. -In der GNU Scientific Library \cite{0f1:library-gsl} -ist die Funktion $\mathstrut_0F_1$ vorhanden. -Allerdings wirft die Funktion, bei negativen Übergabenwerten wie zum Beispiel \verb+gsl_sf_hyperg_0F1(1, -1)+, eine Exception. -Bei genauerer Untersuchung hat sich gezeigt, dass die Funktion je nach Betriebssystem funktioniert oder eben nicht. -So kann die Funktion unter Windows fehlerfrei aufgerufen werden, beim Mac OS und Linux sind negative Übergabeparameter im Moment nicht möglich. -Ziel dieser Arbeit war es zu evaluieren, ob es mit einfachen mathematischen Operationen möglich ist, die Hypergeometrische Funktion $\mathstrut_0F_1$ zu implementieren. +% +% einleitung.tex -- Einleitung +% +% (c) 2022 Fabian Dünki, Hochschule Rapperswil +% +\section{Ausgangslage\label{0f1:section:ausgangslage}} +\rhead{Ausgangslage} +Die Hypergeometrische Funktion $\mathstrut_0F_1$ wird in vielen Funktionen als Basisfunktion benutzt, +zum Beispiel um die Airy Funktion zu berechnen. +In der GNU Scientific Library \cite{0f1:library-gsl} +ist die Funktion $\mathstrut_0F_1$ vorhanden. +Allerdings wirft die Funktion, bei negativen Übergabenwerten wie zum Beispiel \verb+gsl_sf_hyperg_0F1(1, -1)+, eine Exception. +Bei genauerer Untersuchung hat sich gezeigt, dass die Funktion je nach Betriebssystem funktioniert oder eben nicht. +So kann die Funktion unter Windows fehlerfrei aufgerufen werden, beim Mac OS und Linux sind negative Übergabeparameter im Moment nicht möglich. +Ziel dieser Arbeit war es zu evaluieren, ob es mit einfachen mathematischen Operationen möglich ist, die Hypergeometrische Funktion $\mathstrut_0F_1$ zu implementieren. diff --git a/buch/papers/0f1/teil1.tex b/buch/papers/0f1/teil1.tex index 2a60737..f8d70a8 100644 --- a/buch/papers/0f1/teil1.tex +++ b/buch/papers/0f1/teil1.tex @@ -1,102 +1,102 @@ -% -% teil1.tex -- Mathematischer Hintergrund -% -% (c) 2022 Fabian Dünki, Hochschule Rapperswil -% -\section{Mathematischer Hintergrund -\label{0f1:section:mathHintergrund}} -\rhead{Mathematischer Hintergrund} -Basierend auf den Herleitungen des vorhergehenden Kapitels \ref{buch:rekursion:section:hypergeometrische-funktion} -und dem Seminarbuch Numerik \cite{0f1:kettenbrueche}, werden im nachfolgenden Abschnitt nochmals die Resultate -beschrieben. - -\subsection{Hypergeometrische Funktion -\label{0f1:subsection:hypergeometrisch}} -Als Grundlage der umgesetzten Algorithmen dient die Hypergeometrische Funktion $\mathstrut_0F_1$. Diese ist eine Unterfunktion der allgemein definierten Funktion $\mathstrut_pF_q$. - -\begin{definition} - \label{0f1:math:qFp:def} - Die hypergeometrische Funktion - $\mathstrut_pF_q$ ist definiert durch die Reihe - \[ - \mathstrut_pF_q - \biggl( - \begin{matrix} - a_1,\dots,a_p\\ - b_1,\dots,b_q - \end{matrix} - ; - x - \biggr) - = - \mathstrut_pF_q(a_1,\dots,a_p;b_1,\dots,b_q;x) - = - \sum_{k=0}^\infty - \frac{(a_1)_k\cdots(a_p)_k}{(b_1)_k\cdots(b_q)_k}\frac{x^k}{k!}. - \] -\end{definition} - -Angewendet auf die Funktion $\mathstrut_pF_q$ ergibt sich für $\mathstrut_0F_1$: - -\begin{equation} - \label{0f1:math:0f1:eq} - \mathstrut_0F_1 - \biggl( - \begin{matrix} - \\ - b_1 - \end{matrix} - ; - x - \biggr) - = - \mathstrut_0F_1(;b_1;x) - = - \sum_{k=0}^\infty - \frac{x^k}{(b_1)_k \cdot k!}. -\end{equation} - - - - -\subsection{Airy Funktion -\label{0f1:subsection:airy}} -Die Airy-Funktion $Ai(x)$ und die verwandte Funktion $Bi(x)$ werden als Airy-Funktion bezeichnet. Sie werden zur Lösung verschiedener physikalischer Probleme benutzt, wie zum Beispiel zur Lösung der Schrödinger-Gleichung. \cite{0f1:wiki-airyFunktion} - -\begin{definition} - \label{0f1:airy:differentialgleichung:def} - Die Differentialgleichung - $y'' - xy = 0$ - heisst die {\em Airy-Differentialgleichung}. \cite{0f1:wiki-airyFunktion} -\end{definition} - -Die Airy Funktion lässt sich auf verschiedene Arten darstellen. \cite{0f1:wiki-airyFunktion} -Als hypergeometrische Funktion berechnet, ergibt sich wie in Kapitel \ref{buch:differentialgleichungen:section:hypergeometrisch} hergeleitet, folgende Lösungen der Airy-Differentialgleichung zu den Anfangsbedingungen $A(0)=1$ und $A'(0)=0$, sowie $B(0)=0$ und $B'(0)=0$. - -\begin{align} -\label{0f1:airy:hypergeometrisch:eq} -Ai(x) -= -\sum_{k=0}^\infty -\frac{1}{(\frac23)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k -= -\mathstrut_0F_1\biggl( -\begin{matrix}\text{---}\\\frac23\end{matrix};\frac{x^3}{9} -\biggr). -\\ -Bi(x) -= -\sum_{k=0}^\infty -\frac{1}{(\frac43)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k -= -x\cdot\mathstrut_0F_1\biggl( -\begin{matrix}\text{---}\\\frac43\end{matrix}; -\frac{x^3}{9} -\biggr). -\qedhere -\end{align} - -In diesem speziellem Fall wird die Airy Funktion $Ai(x)$ \eqref{0f1:airy:hypergeometrisch:eq} -benutzt, um die Stabilität der Algorithmen zu $\mathstrut_0F_1$ zu überprüfen. - - +% +% teil1.tex -- Mathematischer Hintergrund +% +% (c) 2022 Fabian Dünki, Hochschule Rapperswil +% +\section{Mathematischer Hintergrund +\label{0f1:section:mathHintergrund}} +\rhead{Mathematischer Hintergrund} +Basierend auf den Herleitungen des vorhergehenden Kapitels \ref{buch:rekursion:section:hypergeometrische-funktion} +und dem Seminarbuch Numerik \cite{0f1:kettenbrueche}, werden im nachfolgenden Abschnitt nochmals die Resultate +beschrieben. + +\subsection{Hypergeometrische Funktion +\label{0f1:subsection:hypergeometrisch}} +Als Grundlage der umgesetzten Algorithmen dient die Hypergeometrische Funktion $\mathstrut_0F_1$. Diese ist eine Unterfunktion der allgemein definierten Funktion $\mathstrut_pF_q$. + +\begin{definition} + \label{0f1:math:qFp:def} + Die hypergeometrische Funktion + $\mathstrut_pF_q$ ist definiert durch die Reihe + \[ + \mathstrut_pF_q + \biggl( + \begin{matrix} + a_1,\dots,a_p\\ + b_1,\dots,b_q + \end{matrix} + ; + x + \biggr) + = + \mathstrut_pF_q(a_1,\dots,a_p;b_1,\dots,b_q;x) + = + \sum_{k=0}^\infty + \frac{(a_1)_k\cdots(a_p)_k}{(b_1)_k\cdots(b_q)_k}\frac{x^k}{k!}. + \] +\end{definition} + +Angewendet auf die Funktion $\mathstrut_pF_q$ ergibt sich für $\mathstrut_0F_1$: + +\begin{equation} + \label{0f1:math:0f1:eq} + \mathstrut_0F_1 + \biggl( + \begin{matrix} + \\ + b_1 + \end{matrix} + ; + x + \biggr) + = + \mathstrut_0F_1(;b_1;x) + = + \sum_{k=0}^\infty + \frac{x^k}{(b_1)_k \cdot k!}. +\end{equation} + + + + +\subsection{Airy Funktion +\label{0f1:subsection:airy}} +Die Airy-Funktion $Ai(x)$ und die verwandte Funktion $Bi(x)$ werden als Airy-Funktion bezeichnet. Sie werden zur Lösung verschiedener physikalischer Probleme benutzt, wie zum Beispiel zur Lösung der Schrödinger-Gleichung. \cite{0f1:wiki-airyFunktion} + +\begin{definition} + \label{0f1:airy:differentialgleichung:def} + Die Differentialgleichung + $y'' - xy = 0$ + heisst die {\em Airy-Differentialgleichung}. \cite{0f1:wiki-airyFunktion} +\end{definition} + +Die Airy Funktion lässt sich auf verschiedene Arten darstellen. \cite{0f1:wiki-airyFunktion} +Als hypergeometrische Funktion berechnet, ergibt sich wie in Kapitel \ref{buch:differentialgleichungen:section:hypergeometrisch} hergeleitet, folgende Lösungen der Airy-Differentialgleichung zu den Anfangsbedingungen $A(0)=1$ und $A'(0)=0$, sowie $B(0)=0$ und $B'(0)=0$. + +\begin{align} +\label{0f1:airy:hypergeometrisch:eq} +Ai(x) += +\sum_{k=0}^\infty +\frac{1}{(\frac23)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k += +\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac23\end{matrix};\frac{x^3}{9} +\biggr). +\\ +Bi(x) += +\sum_{k=0}^\infty +\frac{1}{(\frac43)_k} \frac{1}{k!}\biggl(\frac{x^3}{9}\biggr)^k += +x\cdot\mathstrut_0F_1\biggl( +\begin{matrix}\text{---}\\\frac43\end{matrix}; +\frac{x^3}{9} +\biggr). +\qedhere +\end{align} + +In diesem speziellem Fall wird die Airy Funktion $Ai(x)$ \eqref{0f1:airy:hypergeometrisch:eq} +benutzt, um die Stabilität der Algorithmen zu $\mathstrut_0F_1$ zu überprüfen. + + diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index ca48e6e..3c2b5cd 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -1,178 +1,178 @@ -% -% teil2.tex -- Umsetzung in C Programmen -% -% (c) 2022 Fabian Dünki, Hochschule Rapperswil -% -\section{Umsetzung -\label{0f1:section:teil2}} -\rhead{Umsetzung} -Zur Umsetzung wurden drei verschiedene Ansätze gewählt. Dabei wurde der Schwerpunkt auf die Funktionalität und eine gute Lesbarkeit des Codes gelegt. -Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. Die Zwischenresultate wurden vom Hauptprogramm in einem CSV-File gespeichert. Anschliessen wurde mit der Matplot-Libray in Python die Resultate geplottet. - -\subsection{Potenzreihe -\label{0f1:subsection:potenzreihe}} -Die naheliegendste Lösung ist die Programmierung der Potenzreihe. Allerdings ist ein Problem dieser Umsetzung \ref{0f1:listing:potenzreihe}, dass die Fakultät im Nenner schnell grosse Werte annimmt und so der Bruch gegen Null strebt. Spätesten ab $k=167$ stösst diese Umsetzung \eqref{0f1:umsetzung:0f1:eq} an ihre Grenzen, da die Fakultät von $168$ eine Bereichsüberschreitung des \textit{double} Bereiches darstellt. \cite{0f1:double} - -\begin{align} - \label{0f1:umsetzung:0f1:eq} - \mathstrut_0F_1(;b;z) - &= - \sum_{k=0}^\infty - \frac{z^k}{(b)_k \cdot k!} - &= - \frac{1}{b} - +\frac{z^1}{(1+b) \cdot 1} - + \cdots - + \frac{z^{20}}{(20+b) \cdot 2.4 \cdot 10^{18}} -\end{align} - -\lstinputlisting[style=C,float,caption={Potenzreihe.},label={0f1:listing:potenzreihe}, firstline=59]{papers/0f1/listings/potenzreihe.c} - -\subsection{Kettenbruch -\label{0f1:subsection:kettenbruch}} -Ein endlicher Kettenbruch ist ein Bruch der Form -\begin{equation*} -a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{b_3}{a_3+\cdots}}} -\end{equation*} -in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen darstellen. - -Die Kurzschreibweise für einen allgemeinen Kettenbruch ist -\begin{equation*} - a_0 + \frac{a_1|}{|b_1} + \frac{a_2|}{|b_2} + \frac{a_3|}{|b_3} + \cdots -\end{equation*} -und ist somit verknüpfbar mit der Potenzreihe. -\cite{0f1:wiki-kettenbruch} - -Angewendet auf die Funktion $\mathstrut_0F_1$ bedeutet dies: -\begin{equation*} - \mathstrut_0F_1(;b;z) = 1 + \frac{z}{a1!} + \frac{z^2}{a(a+1)2!} + \frac{z^3}{a(a+1)(a+2)3!} + \cdots -\end{equation*} -\cite{0f1:wiki-fraction} - -Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f1:math:kettenbruch:0f1:eq} -\begin{equation} - \label{0f1:math:kettenbruch:0f1:eq} - \mathstrut_0F_1(;b;z) = 1 + \cfrac{\cfrac{z}{b}}{1+\cfrac{-\cfrac{z}{2(1+b)}}{1+\cfrac{z}{2(1+b)}+\cfrac{-\cfrac{z}{3(2+b)}}{1+\cfrac{z}{5(4+b)} + \cdots}}}, -\end{equation} -der als Code \ref{0f1:listing:kettenbruchIterativ} umgesetzt wurde. -\cite{0f1:wolfram-0f1} - -\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}, firstline=8]{papers/0f1/listings/kettenbruchIterativ.c} - -\subsection{Rekursionsformel -\label{0f1:subsection:rekursionsformel}} -Wesentlich stabiler zur Berechnung eines Kettenbruches ist die Rekursionsformel. Nachfolgend wird die verkürzte Herleitung vom Kettenbruch zur Rekursionsformel aufgezeigt. Eine vollständige Schritt für Schritt Herleitung ist im Seminarbuch Numerik, im Kapitel Kettenbrüche zu finden. \cite{0f1:kettenbrueche}) - -\subsubsection{Verkürzte Herleitung} -Ein Näherungsbruch in der Form -\begin{align*} - \cfrac{A_k}{B_k} = a_k + \cfrac{b_{k + 1}}{a_{k + 1} + \cfrac{p}{q}} -\end{align*} -lässt sich zu -\begin{align*} - \cfrac{A_k}{B_k} = \cfrac{b_{k+1}}{a_{k+1} + \cfrac{p}{q}} = \frac{b_{k+1} \cdot q}{a_{k+1} \cdot q + p} -\end{align*} -umformen. -Dies lässt sich auch durch die folgende Matrizenschreibweise ausdrücken: -\begin{equation*} - \begin{pmatrix} - A_k\\ - B_k - \end{pmatrix} - = \begin{pmatrix} - b_{k+1} \cdot q\\ - a_{k+1} \cdot q + p - \end{pmatrix} - =\begin{pmatrix} - 0& b_{k+1}\\ - 1& a_{k+1} - \end{pmatrix} - \begin{pmatrix} - p \\ - q - \end{pmatrix}. - %\label{0f1:math:rekursionsformel:herleitung} -\end{equation*} - -Wendet man dies nun auf den Kettenbruch in der Form -\begin{equation*} - \frac{A_k}{B_k} = a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{k-1}}{a_{k-1} + \cfrac{b_k}{a_k}}}}} -\end{equation*} -an, ergibt sich folgende Matrixdarstellungen: - -\begin{align*} - \begin{pmatrix} - A_k\\ - B_k - \end{pmatrix} - &= - \begin{pmatrix} - 1& a_0\\ - 0& 1 - \end{pmatrix} - \begin{pmatrix} - 0& b_1\\ - 1& a_1 - \end{pmatrix} - \cdots - \begin{pmatrix} - 0& b_{k-1}\\ - 1& a_{k-1} - \end{pmatrix} - \begin{pmatrix} - b_k\\ - a_k - \end{pmatrix} -\end{align*} - -Nach vollständiger Induktion ergibt sich für den Schritt $k$, die Matrix -\begin{equation} - \label{0f1:math:matrix:ende:eq} - \begin{pmatrix} - A_{k}\\ - B_{k} - \end{pmatrix} - = - \begin{pmatrix} - A_{k-2}& A_{k-1}\\ - B_{k-2}& B_{k-1} - \end{pmatrix} - \begin{pmatrix} - b_k\\ - a_k - \end{pmatrix}. -\end{equation} - -Und Schlussendlich kann der Näherungsbruch -\[ -\frac{Ak}{Bk} -\] -berechnet werden. - - -\subsubsection{Lösung} -Die Berechnung von $A_k, B_k$ \eqref{0f1:math:matrix:ende:eq} kann man auch ohne die Matrizenschreibweise aufschreiben: \cite{0f1:wiki-fraction} -\begin{itemize} -\item Startbedingungen: -\begin{align*} -A_{-1} &= 0 & A_0 &= a_0 \\ -B_{-1} &= 1 & B_0 &= 1 -\end{align*} -\item Schritt $k\to k+1$: -\[ -\begin{aligned} -k &\rightarrow k + 1: -& -A_{k+1} &= A_{k-1} \cdot b_k + A_k \cdot a_k \\ -&& -B_{k+1} &= B_{k-1} \cdot b_k + B_k \cdot a_k -\end{aligned} -\] -\item -Näherungsbruch: \qquad$\displaystyle\frac{A_k}{B_k}$ -\end{itemize} - -Ein grosser Vorteil dieser Umsetzung \ref{0f1:listing:kettenbruchRekursion} ist, dass im Vergleich zum Code \ref{0f1:listing:kettenbruchIterativ} eine Division gespart werden kann und somit weniger Folgefehler entstehen können. - -%Code +% +% teil2.tex -- Umsetzung in C Programmen +% +% (c) 2022 Fabian Dünki, Hochschule Rapperswil +% +\section{Umsetzung +\label{0f1:section:teil2}} +\rhead{Umsetzung} +Zur Umsetzung wurden drei verschiedene Ansätze gewählt. Dabei wurde der Schwerpunkt auf die Funktionalität und eine gute Lesbarkeit des Codes gelegt. +Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. Die Zwischenresultate wurden vom Hauptprogramm in einem CSV-File gespeichert. Anschliessen wurde mit der Matplot-Libray in Python die Resultate geplottet. + +\subsection{Potenzreihe +\label{0f1:subsection:potenzreihe}} +Die naheliegendste Lösung ist die Programmierung der Potenzreihe. Allerdings ist ein Problem dieser Umsetzung \ref{0f1:listing:potenzreihe}, dass die Fakultät im Nenner schnell grosse Werte annimmt und so der Bruch gegen Null strebt. Spätesten ab $k=167$ stösst diese Umsetzung \eqref{0f1:umsetzung:0f1:eq} an ihre Grenzen, da die Fakultät von $168$ eine Bereichsüberschreitung des \textit{double} Bereiches darstellt. \cite{0f1:double} + +\begin{align} + \label{0f1:umsetzung:0f1:eq} + \mathstrut_0F_1(;c;z) + &= + \sum_{k=0}^\infty + \frac{z^k}{(c)_k \cdot k!} + &= + \frac{1}{c} + +\frac{z^1}{(c+1) \cdot 1} + + \cdots + + \frac{z^{20}}{c(c+1)(c+2)\cdots(c+19) \cdot 2.4 \cdot 10^{18}} +\end{align} + +\lstinputlisting[style=C,float,caption={Potenzreihe.},label={0f1:listing:potenzreihe}, firstline=59]{papers/0f1/listings/potenzreihe.c} + +\subsection{Kettenbruch +\label{0f1:subsection:kettenbruch}} +Ein endlicher Kettenbruch ist ein Bruch der Form +\begin{equation*} +a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{b_3}{a_3+\cdots}}} +\end{equation*} +in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen darstellen. + +Die Kurzschreibweise für einen allgemeinen Kettenbruch ist +\begin{equation*} + a_0 + \frac{a_1|}{|b_1} + \frac{a_2|}{|b_2} + \frac{a_3|}{|b_3} + \cdots +\end{equation*} +und ist somit verknüpfbar mit der Potenzreihe. +\cite{0f1:wiki-kettenbruch} + +Angewendet auf die Funktion $\mathstrut_0F_1$ bedeutet dies: +\begin{equation*} + \mathstrut_0F_1(;c;z) = 1 + \frac{z}{c\cdot1!} + \frac{z^2}{c(c+1)\cdot2!} + \frac{z^3}{c(c+1)(c+2)\cdot3!} + \cdots +\end{equation*} +\cite{0f1:wiki-fraction} + +Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f1:math:kettenbruch:0f1:eq} +\begin{equation} + \label{0f1:math:kettenbruch:0f1:eq} + \mathstrut_0F_1(;c;z) = 1 + \cfrac{\cfrac{z}{c}}{1+\cfrac{-\cfrac{z}{2(c+1)}}{1+\cfrac{z}{2(c+1)}+\cfrac{-\cfrac{z}{3(c+2)}}{1+\cfrac{z}{5(c+4)} + \cdots}}}, +\end{equation} +der als Code \ref{0f1:listing:kettenbruchIterativ} umgesetzt wurde. +\cite{0f1:wolfram-0f1} + +\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}, firstline=8]{papers/0f1/listings/kettenbruchIterativ.c} + +\subsection{Rekursionsformel +\label{0f1:subsection:rekursionsformel}} +Wesentlich stabiler zur Berechnung eines Kettenbruches ist die Rekursionsformel. Nachfolgend wird die verkürzte Herleitung vom Kettenbruch zur Rekursionsformel aufgezeigt. Eine vollständige Schritt für Schritt Herleitung ist im Seminarbuch Numerik, im Kapitel Kettenbrüche zu finden. \cite{0f1:kettenbrueche}) + +\subsubsection{Verkürzte Herleitung} +Ein Näherungsbruch in der Form +\begin{align*} + \cfrac{A_k}{B_k} = a_k + \cfrac{b_{k + 1}}{a_{k + 1} + \cfrac{p}{q}} +\end{align*} +lässt sich zu +\begin{align*} + \cfrac{A_k}{B_k} = \cfrac{b_{k+1}}{a_{k+1} + \cfrac{p}{q}} = \frac{b_{k+1} \cdot q}{a_{k+1} \cdot q + p} +\end{align*} +umformen. +Dies lässt sich auch durch die folgende Matrizenschreibweise ausdrücken: +\begin{equation*} + \begin{pmatrix} + A_k\\ + B_k + \end{pmatrix} + = \begin{pmatrix} + b_{k+1} \cdot q\\ + a_{k+1} \cdot q + p + \end{pmatrix} + =\begin{pmatrix} + 0& b_{k+1}\\ + 1& a_{k+1} + \end{pmatrix} + \begin{pmatrix} + p \\ + q + \end{pmatrix}. + %\label{0f1:math:rekursionsformel:herleitung} +\end{equation*} + +Wendet man dies nun auf den Kettenbruch in der Form +\begin{equation*} + \frac{A_k}{B_k} = a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{k-1}}{a_{k-1} + \cfrac{b_k}{a_k}}}}} +\end{equation*} +an, ergibt sich folgende Matrixdarstellungen: + +\begin{align*} + \begin{pmatrix} + A_k\\ + B_k + \end{pmatrix} + &= + \begin{pmatrix} + 1& a_0\\ + 0& 1 + \end{pmatrix} + \begin{pmatrix} + 0& b_1\\ + 1& a_1 + \end{pmatrix} + \cdots + \begin{pmatrix} + 0& b_{k-1}\\ + 1& a_{k-1} + \end{pmatrix} + \begin{pmatrix} + b_k\\ + a_k + \end{pmatrix} +\end{align*} + +Nach vollständiger Induktion ergibt sich für den Schritt $k$, die Matrix +\begin{equation} + \label{0f1:math:matrix:ende:eq} + \begin{pmatrix} + A_{k}\\ + B_{k} + \end{pmatrix} + = + \begin{pmatrix} + A_{k-2}& A_{k-1}\\ + B_{k-2}& B_{k-1} + \end{pmatrix} + \begin{pmatrix} + b_k\\ + a_k + \end{pmatrix}. +\end{equation} + +Und Schlussendlich kann der Näherungsbruch +\[ +\frac{Ak}{Bk} +\] +berechnet werden. + + +\subsubsection{Lösung} +Die Berechnung von $A_k, B_k$ \eqref{0f1:math:matrix:ende:eq} kann man auch ohne die Matrizenschreibweise aufschreiben: \cite{0f1:wiki-fraction} +\begin{itemize} +\item Startbedingungen: +\begin{align*} +A_{-1} &= 0 & A_0 &= a_0 \\ +B_{-1} &= 1 & B_0 &= 1 +\end{align*} +\item Schritt $k\to k+1$: +\[ +\begin{aligned} +k &\rightarrow k + 1: +& +A_{k+1} &= A_{k-1} \cdot b_k + A_k \cdot a_k \\ +&& +B_{k+1} &= B_{k-1} \cdot b_k + B_k \cdot a_k +\end{aligned} +\] +\item +Näherungsbruch: \qquad$\displaystyle\frac{A_k}{B_k}$ +\end{itemize} + +Ein grosser Vorteil dieser Umsetzung \ref{0f1:listing:kettenbruchRekursion} ist, dass im Vergleich zum Code \ref{0f1:listing:kettenbruchIterativ} eine Division gespart werden kann und somit weniger Rundungsfehler entstehen können. + +%Code \lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchRekursion}, firstline=8]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index 76d6e32..355e1b7 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -1,56 +1,56 @@ -% -% teil3.tex -- Resultate und Ausblick -% -% (c) 2022 Fabian Dünki, Hochschule Rapperswil -% -\section{Resultate -\label{0f1:section:teil3}} -\rhead{Resultate} -Im Verlauf des Seminares hat sich gezeigt, -das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. -So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen x in der Funktion $\mathstrut_0F_1(;b;x)$. -Ebenso wird, je grösser der Wert x wird $\mathstrut_0F_1(;b;x)$, desto mehr weichen die berechneten Resultate -von den Erwarteten ab. \cite{0f1:wolfram-0f1} - -\subsection{Auswertung -\label{0f1:subsection:auswertung}} -\begin{figure} - \centering - \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} - \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion zu den Anfangsbedingungen $y(0)=1$ und $y'(0)=0$. - \label{0f1:ausblick:plot:airy:konvergenz}} -\end{figure} - -\begin{figure} - \centering - \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzPositiv.pdf} - \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. - \label{0f1:ausblick:plot:konvergenz:positiv}} -\end{figure} - -\begin{figure} - \centering - \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzNegativ.pdf} - \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. - \label{0f1:ausblick:plot:konvergenz:negativ}} -\end{figure} - -\begin{figure} - \centering - \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} - \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library. - \label{0f1:ausblick:plot:airy:stabilitaet}} -\end{figure} - -\begin{itemize} - \item Negative Zahlen sind sowohl für die Potenzreihe als auch für den Kettenbruch ein Problem. - \item Die Potenzreihe hat das Problem, je tiefer die Rekursionstiefe, desto mehr machen die Brüche ein Problem. Also der Nenner mit der Fakultät und dem Pochhammer Symbol. - \item Die Rekursionformel liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. -\end{itemize} - - -\subsection{Ausblick -\label{0f1:subsection:ausblick}} -Eine mögliche Lösung zum Problem ist \cite{0f1:SeminarNumerik} -{\color{red} TODO beschreiben Lösung} - +% +% teil3.tex -- Resultate und Ausblick +% +% (c) 2022 Fabian Dünki, Hochschule Rapperswil +% +\section{Resultate +\label{0f1:section:teil3}} +\rhead{Resultate} +Im Verlauf des Seminares hat sich gezeigt, +das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. +So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen z in der Funktion $\mathstrut_0F_1(;c;z)$. +Ebenso wird, je grösser der Wert z wird $\mathstrut_0F_1(;c;z)$, desto mehr weichen die berechneten Resultate +von den Erwarteten ab. \cite{0f1:wolfram-0f1} + +\subsection{Auswertung +\label{0f1:subsection:auswertung}} +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} + \caption{Konvergenz nach drei Iterationen, dargestellt anhand der Airy Funktion zu den Anfangsbedingungen $Ai(0)=1$ und $Ai'(0)=0$. + \label{0f1:ausblick:plot:airy:konvergenz}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzPositiv.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. + \label{0f1:ausblick:plot:konvergenz:positiv}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzNegativ.pdf} + \caption{Konvergenz: Logarithmisch dargestellte Differenz vom erwarteten Endresultat. + \label{0f1:ausblick:plot:konvergenz:negativ}} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} + \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library. + \label{0f1:ausblick:plot:airy:stabilitaet}} +\end{figure} + +\begin{itemize} + \item Negative Zahlen sind sowohl für die Potenzreihe als auch für den Kettenbruch ein Problem. + \item Die Potenzreihe hat das Problem, je tiefer die Rekursionstiefe, desto mehr machen die Brüche ein Problem. Also der Nenner mit der Fakultät und dem Pochhammer Symbol. + \item Die Rekursionformel liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. +\end{itemize} + + +\subsection{Ausblick +\label{0f1:subsection:ausblick}} +Eine mögliche Lösung zum Problem ist \cite{0f1:SeminarNumerik} +{\color{red} TODO beschreiben Lösung} + -- cgit v1.2.1 From 20f444f3f3782440539b51125dec4cb72777f793 Mon Sep 17 00:00:00 2001 From: daHugen Date: Wed, 27 Jul 2022 13:45:38 +0200 Subject: Update to next version, which includes changes in syntax and text structure --- buch/papers/lambertw/teil4.tex | 251 +++++++++++++++++++++++++---------------- 1 file changed, 153 insertions(+), 98 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index 84a0ec7..c959715 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -6,19 +6,19 @@ \section{Beispiel einer Verfolgungskurve \label{lambertw:section:teil4}} \rhead{Beispiel einer Verfolgungskurve} -In diesem Abschnitt wird rechnerisch das Beispiel einer Verfolgungskurve mit der Verfolgungsstrategie 1 beschreiben. Dafür werden zuerst Bewegungsraum, Anfangspositionen und Bewegungsverhalten definiert, in einem nächsten Schritt soll eine Differentialgleichung dafür aufgestellt werden und anschliessend gelöst werden. +In diesem Abschnitt wird rechnerisch das Beispiel einer Verfolgungskurve mit der Verfolgungsstrategie 1 beschreiben. Dafür werden zuerst Bewegungsraum, Anfangspositionen und Bewegungsverhalten definiert, in einem nächsten Schritt soll eine Differentialgleichung dafür aufgestellt und anschliessend gelöst werden. \subsection{Anfangsbedingungen definieren und einsetzen \label{lambertw:subsection:Anfangsbedingungen}} -Das zu verfolgende Ziel \(\vec{Z}\) bewegt sich entlang der \(y\)-Achse mit konstanter Geschwindigkeit \(v = 1\), beginnend beim Ursprung des Kartesischen Koordinatensystems. Der Verfolger \(\vec{V}\) startet auf einem beliebigen Punkt im ersten Quadranten und bewegt sich auch mit konstanter Geschwindigkeit \(|\dot{V}| = 1\) in Richtung Ziel. Diese Anfangspunkte oder Anfangsbedingungen können wie folgt formuliert werden: +Das zu verfolgende Ziel \(Z\) bewegt sich entlang der \(y\)-Achse mit konstanter Geschwindigkeit \(v = 1\), beginnend beim Ursprung des Kartesischen Koordinatensystems. Der Verfolger \(V\) startet auf einem beliebigen Punkt im ersten Quadranten und bewegt sich auch mit konstanter Geschwindigkeit \(|\dot{V}| = 1\) in Richtung Ziel. Diese Anfangspunkte oder Anfangsbedingungen können wie folgt formuliert werden: \begin{equation} - \vec{Z} + Z = \left( \begin{array}{c} 0 \\ v \cdot t \end{array} \right) = \left( \begin{array}{c} 0 \\ t \end{array} \right) ,\: - \vec{V} + V = \left( \begin{array}{c} x \\ y \end{array} \right) \:\text{und}\:\: @@ -28,7 +28,7 @@ Das zu verfolgende Ziel \(\vec{Z}\) bewegt sich entlang der \(y\)-Achse mit kons \label{lambertw:Anfangsbed} \end{equation} Wir haben nun die Anfangsbedingungen definiert, jetzt fehlt nur noch eine DGL, welche die fortlaufende Änderung der Position und Bewegungsrichtung des Verfolgers beschreibt. -Diese DGL haben wir bereits in Kapitel \ref{lambertw:subsection:Verfolger} definiert, und zwar Gleichung \eqref{lambertw:pursuerDGL}. Wenn man die Startpunkte einfügt ergibt sich folgender Ausdruck: +Diese DGL haben wir bereits in Kapitel \ref{lambertw:subsection:Verfolger} definiert, und zwar Gleichung \eqref{lambertw:pursuerDGL}. Wenn man die Startpunkte einfügt, ergibt sich folgender Ausdruck: \begin{equation} \frac{\left( \begin{array}{c} 0-x \\ t-y \end{array} \right)}{\sqrt{x^2 + (t-y)^2}} \cdot @@ -38,57 +38,71 @@ Diese DGL haben wir bereits in Kapitel \ref{lambertw:subsection:Verfolger} defin \label{lambertw:eqMitAnfangsbed} \end{equation} -\subsection{DGL vereinfachen +\subsection{Differentialgleichung vereinfachen \label{lambertw:subsection:DGLvereinfach}} -Nun haben wir eine Gleichung, es stellt sich aber die Frage ob es überhaupt eine geschlossene Lösung dafür gibt. Eine Funktion welche die Beziehung \(y(x)\) beschreibt oder sogar \(x(t)\) und \(y(t)\) liefert. Zum jetzigen Zeitpunkt mag es nicht trivial scheinen, aber mit den gewählten Anfangsbedingungen \eqref{lambertw:Anfangsbed} ist es möglich eine geschlossene Lösung für die Gleichung \eqref{lambertw:eqMitAnfangsbed} zu finden. -Auf dem Weg dahin muss die definierte DGL zuerst wesentlich vereinfacht werden, sei es mittels algebraische Umformungen oder mit den Tools aus der Analysis. Also legen wir los! +Nun haben wir eine Gleichung, es stellt sich aber die Frage, ob es überhaupt eine geschlossene Lösung dafür gibt. Eine Funktion welche die Beziehung \(y(x)\) beschreibt oder sogar \(x(t)\) und \(y(t)\) liefert. Zum jetzigen Zeitpunkt mag es nicht trivial scheinen, aber mit den gewählten Anfangsbedingungen \eqref{lambertw:Anfangsbed} ist es möglich eine geschlossene Lösung für die Gleichung \eqref{lambertw:eqMitAnfangsbed} zu finden. -Zuerst müssen wir den Bruch in \eqref{lambertw:eqMitAnfangsbed} los werden, der sieht so nicht handlich aus. Dafür multiplizieren wir beidseitig mit dem Nenner: -\begin{equation} - \left( \begin{array}{c} 0-x \\ t-y \end{array} \right) - \cdot - \left(\begin{array}{c} \dot{x} \\ \dot{y} \end{array}\right) - = \sqrt{x^2 + (t-y)^2}. - \label{lambertw:eqOhneBruch} -\end{equation} -In einem weiteren Schritt, lösen wir das Skalarprodukt auf und erhalten folgende Gleichung \eqref{lambertw:eqOhneSkalarprod} ohne vektorielle Grössen: +Auf dem Weg dahin muss die definierte DGL zuerst wesentlich vereinfacht werden, sei es mittels algebraischer Umformungen oder mit den Tools aus der Analysis. Da die nächsten Schritte sehr algebralastig sind und sie das Lesen dieses Papers einfach nur mühsam machen würden, werden wir uns hier nur die wesentlichsten Schritte konzentrieren, welche notwendig sind, um den Lösungsweg nachvollziehen zu können. + +\subsubsection{Skalarprodukt auflösen + \label{lambertw:subsubsection:SkalProdAufl}} +Zuerst müssen wir den Bruch und das Skalarprodukt in \eqref{lambertw:eqMitAnfangsbed} wegbringen, damit wir eine. Dies führt zu: \begin{equation} -x \cdot \dot{x} + (t-y) \cdot \dot{y} = \sqrt{x^2 + (t-y)^2}. \label{lambertw:eqOhneSkalarprod} \end{equation} -Im letzten Schritt, fällt die Nützlichkeit des Skalarproduktes in der Verfolgungsgleichung \eqref{lambertw:pursuerDGL} markant auf. Meiner Meinung ziemlich elegant und nicht selbstverständlich in der Lage zu sein, das Problem auf eine einzige Gleichung reduzieren zu können. +Im letzten Schritt, fällt die Nützlichkeit des Skalarproduktes in der Verfolgungsgleichung \eqref{lambertw:pursuerDGL} markant auf. Anstatt zwei gekoppelte Differentialgleichungen zu erhalten, eine für die \(x\) und die andere für die \(y\)-Komponente, erhält man einen einzigen Ausdruck, was in der Regel mit weniger Lösungsaufwand verbunden ist. -Die nächsten Schritte sind sehr algebralastig und würden das lesen dieses Papers einfach nur mühsam machen, also werde ich diese auslassen. Hingegen werden ich die algebraische Hauptschritte erwähnen, die notwendig wären falls man es trotzdem selber ausprobieren möchte: -\begin{itemize} - \item - Quadrieren und erweitern. - \item - Gruppieren. - \item - Substitution von einzelnen Thermen mittels der Beziehung \(\dot{x}^2 + \dot{y}^2 = 1\). - \item - Und das erkennen des Musters einer Binomischen Formel. -\end{itemize} -Das Resultat aller dieser Vereinfachungen führen zu folgender Gleichung \eqref{lambertw:eqAlgVerinfacht}, die viel handhabbarer ist als zuvor: +\subsubsection{Quadrieren und Gruppieren + \label{lambertw:subsubsection:QuadUndGrup}} +Mit der Quadratwurzel in \ref{lambertw:eqOhneSkalarprod} kann man nichts anfangen, sie steht nur im Weg, also muss man sie loswerden. Wenn man dies macht, kann \eqref{lambertw:eqOhneSkalarprod} auf folgende Form gebracht werden: +\begin{equation} + \left(\dot{x}^2-1\right) \cdot x^2 -2x \left(t-y\right) \dot{x}\dot{y} + \left(\dot{y}^2-1\right) \cdot \left(t-y\right)^2 + =0. + \label{lambertw:eqOhneWurzel} +\end{equation} +Diese Form mag auf den ersten Blick nicht gerade nützlich sein, aber man kann sie mit einer Substitution weiter vereinfachen. + +\subsubsection{Wichtige Substitution + \label{lambertw:subsubsection:WichtSubst}} +Wenn man beachtet, dass die Geschwindigkeit des Verfolgers konstant und gleich 1 ist, dann kann man folgende Gleichung aufstellen: +\begin{equation} + \dot{x}^2 + \dot{y}^2 + = 1. + \label{lambertw:eqGeschwSubst} +\end{equation} +Umformungen der Gleichung \eqref{lambertw:eqGeschwSubst} können in \eqref{lambertw:eqOhneWurzel} erkannt werden. Ersetzt führen sie zu folgendem Ausdruck: +\begin{equation} + \dot{y}^2 \cdot x^2 +2x \left(t-y\right) \dot{x}\dot{y} + \dot{x}^2 \cdot \left(t-y\right)^2 + =0. + \label{lambertw:eqGeschwSubstituiert} +\end{equation} +Diese unscheinbare Substitution führt dazu, dass weitere Vereinfachungen durchgeführt werden können. + +\subsubsection{Binom erkennen und vereinfachen + \label{lambertw:subsubsection:BinomVereinfach}} +Versteckt im Ausdruck \eqref{lambertw:eqGeschwSubstituiert} befindet sich die erste binomische Formel, welche zu folgender Gleichung führt: \begin{equation} (x \dot{y} + (t-y) \dot{x})^2 = 0. \label{lambertw:eqAlgVerinfacht} \end{equation} -Da der linke Term gleich Null ist, muss auch der Inhalt des Quadrates gleich Null sein, somit folgt eine weitere Vereinfachung, welche zu einer im Vergleich zu \eqref{lambertw:eqOhneSkalarprod} wesentlich einfachere DGL führt: +Da der linke Term gleich Null ist, muss auch der Inhalt des Quadrates gleich Null sein, somit folgt eine weitere Vereinfachung, welche zu einer im Vergleich zu \eqref{lambertw:eqOhneSkalarprod} wesentlich einfacheren DGL führt: \begin{equation} x \dot{y} + (t-y) \dot{x} = 0. \label{lambertw:eqGanzVerinfacht} \end{equation} -Kompakt, ohne Wurzelterme und Quadrate, nur elementare Operationen und Ableitungen. Nun stellt sich die Frage wie es weiter gehen soll, bei der Gleichung \eqref{lambertw:eqGanzVerinfacht} scheinen keine weiteren Vereinfachungen möglich zu sein. Wir brauchen einen neuen Ansatz um unser Ziel einer möglichen Lösung zu verfolgen. +Kompakt, ohne Wurzelterme und Quadrate, nur elementare Operationen und Ableitungen. Nun stellt sich die Frage wie es weiter gehen soll, bei der Gleichung \eqref{lambertw:eqGanzVerinfacht} scheinen keine weiteren Vereinfachungen möglich zu sein. Wir brauchen einen neuen Ansatz, um unser Ziel einer möglichen Lösung zu verfolgen. \subsection{Zeitabhängigkeit loswerden \label{lambertw:subsection:ZeitabhLoswerden}} -Der nächste logischer Schritt schient irgendwie die Zeitabhängigkeit in der Gleichung \eqref{lambertw:eqGanzVerinfacht} loszuwerden, aber wieso? Nun, wie am Anfang von Abschnitt \ref{lambertw:subsection:DGLvereinfach} beschrieben, suchen wir eine Lösung der Art \(y(x)\), dies ist natürlich erst möglich wenn wir die Abhängigkeit nach \(t\) eliminieren können. +Der nächste logischer Schritt scheint irgendwie die Zeitabhängigkeit in der Gleichung \eqref{lambertw:eqGanzVerinfacht} loszuwerden, aber wieso? Nun, wie am Anfang von Abschnitt \ref{lambertw:subsection:DGLvereinfach} beschrieben, suchen wir eine Lösung der Art \(y(x)\), dies ist natürlich erst möglich wenn wir die Abhängigkeit nach \(t\) eliminieren können. -Der erste Schritt auf dem Weg dahin, ist es die zeitlichen Ableitung los zu werden, dafür wird \eqref{lambertw:eqGanzVerinfacht} beidseitig mit \(\dot{x}\) dividiert, was erlaubt ist, weil diese Änderung ungleich Null ist: +\subsubsection{Zeitliche Ableitungen loswerden + \label{lambertw:subsubsection:ZeitAbleit}} +Der erste Schritt auf dem Weg zur Funktion \(y(x)\), ist es die zeitlichen Ableitungen los zu werden, dafür wird \eqref{lambertw:eqGanzVerinfacht} beidseitig mit \(\dot{x}\) dividiert, was erlaubt ist, weil diese Änderung ungleich Null ist: \begin{equation} x \frac{\dot{y}}{\dot{x}} + (t-y) \frac{\dot{x}}{\dot{x}} = 0. @@ -103,13 +117,17 @@ Der Grund dafür ist, dass \label{lambertw:eqQuotZeitAbleit} \end{equation} und somit kann der Quotient dieser zeitlichen Ableitungen in eine Ableitung nach \(x\) umgewandelt werden. -Nach dem diese Eigenschaft \eqref{lambertw:eqQuotZeitAbleit} in \eqref{lambertw:eqVorKeineZeitAbleit} eingesetzt wird und vereinfacht wurde, entsteht folgende neue Gleichung: +Nach dem die Eigenschaft \eqref{lambertw:eqQuotZeitAbleit} in \eqref{lambertw:eqVorKeineZeitAbleit} eingesetzt wird und vereinfacht wurde, entsteht die neue Gleichung \begin{equation} x y^{\prime} + t - y = 0. \label{lambertw:DGLmitT} \end{equation} -Hier wäre es natürlich passend wenn man die Abhängigkeit nach \(t\) komplett wegbringen könnte. Um dies zu erreichen muss man auf die Definition der Bogenlänge aus der Analysis zurückgreifen, wobei die Strecke \(s\) folgendem entspricht: + +\subsubsection{Variable \(t\) eliminieren + \label{lambertw:subsubsection:ZeitAbleit}} +Hier wäre es natürlich passend, wenn man die Abhängigkeit nach \(t\) komplett wegbringen könnte. Um dies zu erreichen, muss man auf die Definition der Bogenlänge zurückgreifen. +Die Strecke \(s\) entspricht \begin{equation} s = @@ -122,13 +140,16 @@ Hier wäre es natürlich passend wenn man die Abhängigkeit nach \(t\) komplett \int_{\displaystyle x_0}^{\displaystyle x_{\text{end}}}\sqrt{1+y^{\prime\, 2}} \: dx. \label{lambertw:eqZuBogenlaenge} \end{equation} -Nicht gerade auffällig ist die Richtung in welche hier integriert wird. Wenn der Verfolger sich wie vorgesehen am Anfang im ersten Quadranten befindet, dann muss sich dieser nach links bewegen, was nicht der üblichen Integrationsrichtung entspricht. Um eine Integration wie üblich von links nach rechts ausführen zu können, müssen die Integrationsgenerzen vertauscht werden, was in einem Vorzeichenwechsel resultiert. Wenn man nun \eqref{lambertw:eqZuBogenlaenge} in die DGL \eqref{lambertw:DGLmitT} einfügt, dann ergibt sich folgender Ausdruck: + +Nicht gerade auffällig ist die Richtung, in welche hier integriert wird. Wenn der Verfolger sich wie vorgesehen am Anfang im ersten Quadranten befindet, dann muss sich dieser nach links bewegen, was nicht der üblichen Integrationsrichtung entspricht. Um eine Integration wie üblich von links nach rechts ausführen zu können, müssen die Integrationsgenerzen vertauscht werden, was in einem Vorzeichenwechsel resultiert. + +Wenn man nun \eqref{lambertw:eqZuBogenlaenge} in die DGL \eqref{lambertw:DGLmitT} einfügt, dann ergibt sich folgender Ausdruck: \begin{equation} x y^{\prime} - \int\sqrt{1+y^{\prime\, 2}} \: dx - y = 0. \label{lambertw:DGLohneT} \end{equation} -Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambertw:DGLohneT} nach \(x\) ab und erhaltet folgende DGL \eqref{lambertw:DGLohneInt}: +Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambertw:DGLohneT} nach \(x\) ab und erhaltet folgende DGL zweiter Ordnung \eqref{lambertw:DGLohneInt}: \begin{align} y^{\prime}+ xy^{\prime\prime} - \sqrt{1+y^{\prime\, 2}} - y^{\prime} &= 0, \\ @@ -138,16 +159,22 @@ Um das Integral los zu werden, leitet man den vorherigen Ausdruck \eqref{lambert \end{align} Nun sind wir unserem Ziel einen weiteren Schritt näher. Die Gleichung \eqref{lambertw:DGLohneInt} mag auf den ersten Blick nicht gerade einfach sein, aber im Nächsten Abschnitt werden wir sehen, dass sie relativ einfach zu lösen ist. -\subsection{DGL lösen +\subsection{Differentialgleichung lösen \label{lambertw:subsection:DGLloes}} -Die Gleichung \eqref{lambertw:DGLohneInt} ist eine DGL zweiter Ordnung und kann -mittels der Substitution \(y^{\prime} = u\) in eine DGL erster Ordnung umgewandelt werden: +Die Gleichung \eqref{lambertw:DGLohneInt} ist eine DGL zweiter Ordnung, in der \(y\) nicht vorkommt. Sie kann mittels der Substitution \(y^{\prime} = u\) in eine DGL erster Ordnung umgewandelt werden: \begin{equation} xu^{\prime} - \sqrt{1+u^2} = 0. \label{lambertw:DGLmitU} \end{equation} -Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar ist, aus diesem Grund werde ich direkt zur Lösung \eqref{lambertw:loesDGLmitU} übergehen: +Diese Gleichung ist separierbar, was sie viel handlicher macht. In der separierten Form +\begin{equation} + \int{\frac{1}{\sqrt{1+u^2}}\:du} + = + \int{\frac{1}{x}\:dx}, +\end{equation} +lässt sich die Gleichung mittels einer Integrationstabelle sehr rasch lösen. +Mit dem Ergebnis: \begin{align} \operatorname{arsinh}(u) &= @@ -157,20 +184,20 @@ Diese \eqref{lambertw:DGLmitU} zu lösen ist ziemlich einfach da sie separierbar \operatorname{sinh}(\operatorname{ln}(x) + C). \label{lambertw:loesDGLmitU} \end{align} -Indem man die Substitution rückgängig macht, erhält man eine weitere DGL erster Ordnung die bereits separiert ist und erhält folgende Gleichung: +Wenn man in \eqref{lambertw:loesDGLmitU} die Substitution rückgängig macht, erhält man folgende DGL erster Ordnung, die bereits separiert ist: \begin{equation} y^{\prime} = \operatorname{sinh}(\operatorname{ln}(x) + C). \label{lambertw:loesDGLmitY} \end{equation} -Diese \eqref{lambertw:loesDGLmitY} kann mit den selben Methoden gelöst werden wie \eqref{lambertw:DGLmitU}, diesmal aber in Kombination mit der exponentiellen Definition der \(\operatorname{sinh}\)-Funktion: +Ersetzt man den \(\operatorname{sinh}\) mit seiner exponentiellen Definition \(\operatorname{sinh}(x)=\frac{1}{2}(e^x-e^{-x})\), so resultiert auf sehr einfache Art folgende Lösung für \eqref{lambertw:loesDGLmitY}: \begin{equation} y = C_1 + C_2 x^2 - \frac{\operatorname{ln}(x)}{8 \cdot C_2}. \end{equation} -Nun haben wir eine Lösung, aber wie es immer mit Lösungen ist, stellt sich die Frage ob sie überhaupt plausibel ist. Dieser Frage werden wir in nächsten Abschnitt \ref{lambertw:subsection:LoesAnalys} nachgehen. +Nun haben wir eine Lösung, aber wie es immer mit Lösungen ist, stellt sich die Frage, ob sie überhaupt plausibel ist. Dieser Frage werden wir im nächsten Abschnitt nachgehen. \subsection{Lösung analysieren \label{lambertw:subsection:LoesAnalys}} @@ -178,7 +205,7 @@ Nun haben wir eine Lösung, aber wie es immer mit Lösungen ist, stellt sich die \begin{figure} \centering \includegraphics{papers/lambertw/Bilder/VerfolgungskurveBsp.png} - \caption[Graph der Verfolgungskurve]{Graph der Verfolgungskurve wobei, ({\color{red}rot}) die Funktion \ensuremath{y(x)} ist, ({\color{darkgreen}grün}) der quadratische Teil und ({\color{blue}blau}) dem \ensuremath{ln(x)}-Teil entspricht. + \caption[Graph der Verfolgungskurve]{Graph der Verfolgungskurve wobei, ({\color{red}rot}) die Funktion \ensuremath{y(x)} ist, ({\color{darkgreen}grün}) der quadratische Teil und ({\color{blue}blau}) dem \ensuremath{\operatorname{ln}(x)}-Teil entspricht. \label{lambertw:BildFunkLoes} } \end{figure} @@ -190,24 +217,30 @@ Das Resultat, wie ersichtlich, ist folgende Funktion \eqref{lambertw:funkLoes} w C_1 + C_2 {\color{darkgreen}{x^2}} {\color{blue}{-}} \frac{\color{blue}{\operatorname{ln}(x)}}{8 \cdot C_2}. \label{lambertw:funkLoes} \end{equation} -Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, welches für deren Bestimmung gelöst werden muss. Zuerst soll aber eine qualitative Intuition, oder Idee für das Aussehen der Funktion \(y(x)\) geschaffen werden: +Für die Koeffizienten \(C_1\) und \(C_2\) ergibt sich ein Anfangswertproblem, welches für deren Bestimmung gelöst werden muss. Zuerst soll aber eine qualitative Intuition oder Idee für das Aussehen der Funktion \(y(x)\) geschaffen werden: \begin{itemize} \item Für grosse \(x\)-Werte, welche in der Regel in der Nähe von \(x_0\) sein sollten, ist der quadratisch Term in der Funktion \eqref{lambertw:funkLoes} dominant. \item - Für immer kleiner werdende \(x\) geht der Verfolger in Richtung \(y\)-Achse, wobei seine Steigung stetig sinkt, was Sinn macht wenn der Verfolgte entlang der \(y\)-Achse steigt. Irgendwann werden Verfolger und Ziel auf gleicher Höhe sein. + Für immer kleiner werdende \(x\) geht der Verfolger in Richtung \(y\)-Achse, wobei seine Steigung stetig sinkt, was Sinn macht wenn der Verfolgte entlang der \(y\)-Achse steigt. Irgendwann werden Verfolger und Ziel auf gleicher Höhe sein, also gleiche \(y\) aber verschiedene \(x\)-Koordinate besitzen. \item - Für \(x\)-Werte in der Nähe von \(0\) ist das asymptotische Verhalten des Logarithmus dominant, dies macht auch Sinn da sich der Verfolgte auf der \(y\)-Achse bewegt und der Verfolger im nachgeht. + Für \(x\)-Werte in der Nähe von \(0\) ist das asymptotische Verhalten des Logarithmus dominant, dies macht auch Sinn, da sich der Verfolgte auf der \(y\)-Achse bewegt und der Verfolger ihm nachgeht. \item Aufgrund des Monotoniewechsels in der Kurve \eqref{lambertw:funkLoes} muss diese auch ein Minimum aufweisen. Es stellt sich nun die Frage: Wo befindet sich dieser Punkt? - Eine Abschätzung darüber kann getroffen werden und zwar, dass dieser dann entsteht, wenn \(A\) und \(P\) die gleiche \(y\)-Koordinaten besitzen. In diesem Moment ändert die Richtung der \(y\)-Komponente der Geschwindigkeit des Verfolgers, somit auch sein Vorzeichen und dadurch entsteht auch das Minimum. \end{itemize} -Alle diese Eigenschafte stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, welche durch die Grafik \ref{lambertw:BildFunkLoes} repräsentiert wurde. Nun stellt sich die Frage wie die Kurve wirklich aussieht. Dies wird im folgenden Abschnitt \ref{lambertw:subsection:AllgLoes} behandelt. +Alle diese Eigenschaften stimmen mit dem überein, was man von einer Kurve dieser Art erwarten würde, welche durch die Grafik \ref{lambertw:BildFunkLoes} repräsentiert wurde. \subsection{Anfangswertproblem \label{lambertw:subsection:AllgLoes}} -Wie üblich bei der Suche nach einer exakten Lösung, kommt ein Anfangswertproblem vor. Um dieses zu lösen, müssen wir zuerst die Anfangswerte definieren. Da wir das Problem allgemein lösen wollen, ergeben sich folgende zwei Anfangswerte: +In diesem Abschnitt soll eine Parameterfunktion hergeleitet werden, bei der jeder beliebige Anfangspunkt im ersten Quadranten eingesetzt werden kann, ausser der Ursprung im Koordinatensystem. Diese Aufgabe erfordert ein Anfangswertproblem. + +Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches hier nicht explizit eingegangen wird. Zur Vollständigkeit und Nachvollziehbarkeit, wird aber das Gleichungssystem präsentiert, welches notwendig ist, um das Anfangswertproblem zu lösen. + +\subsubsection{Anfangswerte bestimmen + \label{lambertw:subsubsection:Anfangswerte}} +Der erste Schritt auf dem Weg zur gesuchten Parameterfunktion ist, die Anfangswerte \eqref{lambertw:eq1Anfangswert} zu definieren. +Die Anfangswerte sind: \begin{equation} y(x)\big \vert_{t=0} = @@ -227,50 +260,63 @@ und \end{equation} Der zweite Anfangswert \eqref{lambertw:eq2Anfangswert} mag nicht grade offensichtlich sein. Die Erklärung dafür ist aber simpel: Der Verfolger wird sich zum Zeitpunkt \(t=0\) in Richtung Koordinatenursprung bewegen wollen, wo sich das Ziel befindet. Somit entsteht das Steigungsdreieck mit \(\Delta x = x_0\) und \(\Delta y = y_0\). -Das Lösen des Anfangswertproblems ist ein Problem aus der Algebra, auf welches ich nicht unbedingt eingehen möchte. Zur Vollständigkeit und Nachvollziehbarkeit, werde ich aber das Gleichungssystem \eqref{lambertw:eqGleichungssystem} präsentieren, welches notwendig ist um das Anfangswertproblem zu lösen, sowie auch die allgemeine Lösung \eqref{lambertw:eqAllgLoes} die sich nach dem einsetzen der Koeffizienten \(C_1\) und \(C_2\) in die Funktion \eqref{lambertw:funkLoes} ergibt. - -\begin{itemize} - \item - Gleichungssystem: - \begin{subequations} - \begin{align} - y_0 - &= - C_1 + C_2 x^2_0 - \frac{\operatorname{ln}(x_0)}{8 \cdot C_2}, \\ - \frac{y_0}{x_0} - &= - 2 \cdot C_2 x_0 - \frac{1}{8 \cdot C_2 \cdot x_0}. - \end{align} - \label{lambertw:eqGleichungssystem} - \end{subequations} - \item - Die allgemeine Funktion: - \begin{equation} - y(x) - = - \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right)-r_0+3y_0\right) - \label{lambertw:eqAllgLoes} - \end{equation} - Damit die Funkion \eqref{lambertw:eqAllgLoes} trotzdem noch übersichtlich bleibt, wurden \(\eta\) und \(r_0\) wie folgt definiert: - \begin{equation} - \eta - = - \left(\frac{x}{x_0}\right)^2 - \:\:\text{und}\:\: - r_0 - = - \sqrt{x_0^2+y_0^2}. - \end{equation} -\end{itemize} -Diese neue allgemein Funktion \eqref{lambertw:eqAllgLoes} weist immer noch die selbe Struktur wie die vorherig hergeleitete Funktion \eqref{lambertw:funkLoes} auf, einerseits einen quadratischen Teil der in \(\eta\) enthalten ist, anderseits den \(\operatorname{ln}\)-Teil. Aus dieser Ähnlichkeit kann geschlossen werden, dass sich \eqref{lambertw:eqAllgLoes} auf eine ähnliche Art verhalten wird. +\subsubsection{Gleichungssystem aufstellen und lösen + \label{lambertw:subsubsection:GlSys}} +Wenn man die Anfangswerte \eqref{lambertw:eq1Anfangswert} und \eqref{lambertw:eq2Anfangswert} in die Gleichung \eqref{lambertw:funkLoes} und deren Ableitung \(y^{\prime}(x)\) einsetzt, dann ergibt sich folgendes Gleichungssystem: +\begin{subequations} + \begin{align} + y_0 + &= + C_1 + C_2 x^2_0 - \frac{\operatorname{ln}(x_0)}{8 \cdot C_2}, \\ + \frac{y_0}{x_0} + &= + 2 \cdot C_2 x_0 - \frac{1}{8 \cdot C_2 \cdot x_0}. + \end{align} + \label{lambertw:eqGleichungssystem} +\end{subequations} +Damit die gesuchte Funktion im ersten Quadranten bleibt, werden nur die positiven Lösungen des Gleichungssystems gewählt, welche wie folgt aussehen: +\begin{subequations} + \begin{align} + \label{lambertw:eqKoeff1} + C_1 + &= + \frac{2\cdot\operatorname{ln}(x_0)\left(\sqrt{x_0^2 + y_0^2} - y_0 \right) - \sqrt{x_0^2 + y_0^2} + 3 y_0}{4}, \\ + \label{lambertw:eqKoeff2} + C_2 + &= + \frac{\sqrt{x_0^2 + y_0^2} + y_0}{4x_0^2}. + \end{align} +\end{subequations} +\subsubsection{Gesuchte Parameterfunktion aufstellen + \label{lambertw:subsubsection:ParamFunk}} +Wenn man die Koeffizienten \eqref{lambertw:eqKoeff1} und \eqref{lambertw:eqKoeff2} in die Funktion \eqref{lambertw:funkLoes} einsetzt, dann ergibt sich nach dem Vereinfachen die gesuchte Parameterfunktion: +\begin{equation} + y(x) + = + \frac{1}{4}\left(\left(y_0+r_0\right)\eta+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right)-r_0+3y_0\right). + \label{lambertw:eqAllgLoes} +\end{equation} +Damit die Funktion \eqref{lambertw:eqAllgLoes} trotzdem übersichtlich bleibt, wurden Anfangssteigung \(\eta\) und Anfangsentfernung \(r_0\) wie folgt definiert: +\begin{equation} + \eta + = + \left(\frac{x}{x_0}\right)^2 + \:\:\text{und}\:\: + r_0 + = + \sqrt{x_0^2+y_0^2}. +\end{equation} +Diese neue allgemeine Funktion \eqref{lambertw:eqAllgLoes} weist immer noch die selbe Struktur wie die vorher hergeleitete Funktion \eqref{lambertw:funkLoes} auf. Sie enthält einerseits einen quadratischen Teil, der in \(\eta\) enthalten ist, anderseits den \(\operatorname{ln}\)-Teil. Aus dieser Ähnlichkeit kann geschlossen werden, dass sich \eqref{lambertw:eqAllgLoes} auf eine ähnliche Art verhalten wird. -Nun sind wir soweit, dass wir eine \(y(x)\)-Beziehung für beliebige Anfangswerte darstellen können, unser erstes Ziel wurde erreicht. Ist das alles? Nein, wir können einen Schritt weiter gehen und uns Fragen: Ist es analytisch möglich herauszufinden, wo sich Verfolger und Ziel zu jedem Zeitpunkt befinden? Dieser Frage werden wir im nächsten Abschnitt nachgehen. +Nun sind wir soweit, dass wir eine \(y(x)\)-Beziehung für beliebige Anfangswerte darstellen können, unser erstes Ziel wurde erreicht. Wir können aber einen Schritt weiter gehen und uns Fragen: Ist es analytisch möglich herauszufinden, wo sich Verfolger und Ziel zu jedem Zeitpunkt befinden? Dieser Frage werden wir im nächsten Abschnitt nachgehen. \subsection{Funktion nach der Zeit \label{lambertw:subsection:FunkNachT}} -Lieber Leser sei mir nicht böse, aber in diesem Abschnitt werde ich ein wenig mehr bei den algebraischen Umformungen ins Detail gehen. Dies hat auch einen bestimmten Grund, ich möchte den Einsatz einer speziellen Funktion aufzeigen, sowie auch wann und wieso diese vorkommt. Welche spezielle Funktion? Fragst du dich wahrscheinlich in diesem Moment. Nun, um diese Frage zu kurz zu beantworten, es ist "YouTube's favorite special function" laut dem Mathematiker Michael Penn, die Lambert-W-Funktion \(W(x)\) welche übrigens im Kapitel \ref{buch:section:lambertw} bereits beschrieben wurde. +In diesem Abschnitt werden algebraischen Umformungen ein wenig detaillierter als zuvor beschrieben. Dies hat auch einen bestimmten Grund: Den Einsatz einer speziellen Funktion aufzeigen, sowie auch wann und wieso diese vorkommt. Welche spezielle Funktion? Fragst du dich wahrscheinlich in diesem Moment. Nun, um diese Frage kurz zu beantworten, es ist ``YouTube's favorite special function'' laut dem Mathematiker Michael Penn, die Lambert-\(W\)-Funktion \(W(x)\) welche im Kapitel \ref{buch:section:lambertw} bereits beschrieben wurde. -Also fangen wir an. Der erste Schritt ist es herauszufinden, wie die Zeitabhängigkeit wieder hinein gebracht werden kann. Dafür greifen wir auf die letzte Gleichung zu, in welcher \(t\) noch enthalten war, und zwar DGL \eqref{lambertw:DGLmitT}, welche zur Übersichtlichkeit hier nochmals aufgeführt wird: +\subsubsection{Zeitabhängigkeit wiederherstellen + \label{lambertw:subsubsection:ZeitabhWiederherst}} +Der erste Schritt ist es herauszufinden, wie die Zeitabhängigkeit wieder hineingebracht werden kann. Dafür greifen wir auf die letzte Gleichung zu, in welcher \(t\) noch enthalten war, und zwar DGL \eqref{lambertw:DGLmitT}, welche zur Übersichtlichkeit hier nochmals aufgeführt wird: \begin{equation} x y^{\prime} + t - y = 0. @@ -289,6 +335,7 @@ Wie in \eqref{lambertw:eqDGLmitTnochmals} zu sehen ist, werden \(y\) und deren A \end{align} \label{lambertw:eqFunkUndAbleit} \end{subequations} + Wenn man diese Gleichungen \ref{lambertw:eqFunkUndAbleit} in die DGL \label{lambertw:eqDGLmitTnochmals} einfügt, vereinfacht und nach \(t\) auflöst, dann ergibt sich folgenden Ausdruck: \begin{equation} -4t @@ -296,6 +343,12 @@ Wenn man diese Gleichungen \ref{lambertw:eqFunkUndAbleit} in die DGL \label{lamb \left(y_0+r_0\right)\left(\eta-1\right)+\left(r_0-y_0\right)\operatorname{ln}\left(\eta\right). \label{lambertw:eqFunkUndAbleitEingefuegt} \end{equation} + +\subsubsection{Umformungen die zur Funktion nach der Zeit führen + \label{lambertw:subsubsection:UmformBisZumZiel}} +Mit dem Ausdruck \eqref{lambertw:eqFunkUndAbleitEingefuegt}, welcher Terme mit \(x\) und \(t\) verbindet, kann nun nach der gesuchten Variable \(x\) aufgelöst werden. + + In einem nächsten Schritt wird alles mit \(x\) auf die eine Seite gebracht, der Rest auf die andere Seite und anschliessend beidseitig exponentiert, was wie folgt aussieht: \begin{align} -4t+\left(y_0+r_0\right) @@ -306,7 +359,7 @@ In einem nächsten Schritt wird alles mit \(x\) auf die eine Seite gebracht, der e^{\displaystyle \left(y_0+r_0\right)\eta}\cdot\eta^{\displaystyle \left(r_0-y_0\right)}. \label{lambertw:eqMitExp} \end{align} -Auf dem rechten Term von \eqref{lambertw:eqMitExp} beginnen wir langsam eine ähnliche Struktur wie \(\eta e^\eta\) zu erkennen, dies schreit nach der Struktur die benötigt wird um \(\eta\) mittels der Lambert-W-Funktion \(W(x)\) zu erhalten. Dies macht durchaus Sinn, wenn wir die Funktion \(x(t)\) finden wollen und \(W(x)\) die Umkehrfunktion von \(x e^x\) ist. +Auf dem rechten Term von \eqref{lambertw:eqMitExp} beginnen wir langsam eine ähnliche Struktur wie \(\eta e^\eta\) zu erkennen, dies schreit nach der Struktur die benötigt wird um \(\eta\) mittels der Lambert-\(W\)-Funktion \(W(x)\) zu erhalten. Dies macht durchaus Sinn, wenn wir die Funktion \(x(t)\) finden wollen und \(W(x)\) die Umkehrfunktion von \(x e^x\) ist. Die erste Sache die uns in \eqref{lambertw:eqMitExp} stört ist, dass \(\eta\) als Potenz da steht. Dieses Problem können wir loswerden, indem wir beidseitig mit \(\:\displaystyle \frac{1}{r_0-y_0}\:\) potenzieren: \begin{equation} @@ -324,14 +377,14 @@ Das nächste Problem auf welches wir in \eqref{lambertw:eqOhnePotenz} treffen is \end{equation} Es gäbe natürlich andere Substitutionen wie z.B. \[\displaystyle \chi=\frac{y_0+r_0}{r_0-y_0}\cdot\eta,\] -die auf das selbe Ergebnis führen würden, aber \eqref{lambertw:eqChiSubst} liefert in einem Schritt die kompakteste Lösung. Also fahren wir mit der Substitution \eqref{lambertw:eqChiSubst} weiter, setzen diese in die Gleichung \eqref{lambertw:eqOhnePotenz} ein und multiplizieren beidseitig mit \(\chi\). Daraus erhalten wir folgende Gleichung: +die auf dasselbe Ergebnis führen würden, aber \eqref{lambertw:eqChiSubst} liefert in einem Schritt die kompakteste Lösung. Also fahren wir mit der Substitution \eqref{lambertw:eqChiSubst} weiter, setzen diese in die Gleichung \eqref{lambertw:eqOhnePotenz} ein und multiplizieren beidseitig mit \(\chi\). Daraus erhalten wir folgende Gleichung: \begin{equation} \chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}} = \chi\eta\cdot e^{\displaystyle \chi\eta}. \label{lambertw:eqNachSubst} \end{equation} -Schön oder? Nun sind wir endlich soweit, dass wir die angedeutete Lambert-W-Funktion \(W(x)\)einsetzen können. Wenn wir beidseitig \(W(x)\) anwenden, dann erhalten wir folgenden Ausdruck: +Nun sind wir endlich soweit, dass wir die angedeutete Lambert-\(W\)-Funktion \(W(x)\)einsetzen können. Wenn wir beidseitig \(W(x)\) anwenden, dann erhalten wir folgenden Ausdruck: \begin{equation} W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right) = @@ -354,9 +407,11 @@ Nach dem Auflösen nach \(x\) welches in \(\eta\) enthalten ist, erhalten wir di \label{lambertw:eqFunktionenNachT} \end{subequations} Nun haben wir unser letztes Ziel erreicht und sind in der Lage eine Verfolgung rechnerisch sowie graphisch zu repräsentieren. - -Wir sind aber noch nicht ganz fertig, ich muss gestehen, dass ich in diesem Abschnitt einen wichtigen Teil verschwiegen habe. Und zwar wieso, dass ich schon bei der Gleichung \eqref{lambertw:eqFunkUndAbleitEingefuegt} wusste, dass man nach einigen Umformungen die Lambert-W-Funktion eingesetzt werden kann. -Der Grund dafür ist die Struktur + +\subsubsection{Hinweise zur Lambert-\(W\)-Funktion + \label{lambertw:subsubsection:HinwLambertW}} +Wir sind aber noch nicht ganz fertig, eine Frage muss noch beantwortet werden. Und zwar wieso, dass man schon bei der Gleichung \eqref{lambertw:eqFunkUndAbleitEingefuegt} weiss, dass die Lambert-\(W\)-Funktion zum Einsatz kommen wird. +Nun, der Grund dafür ist die Struktur \begin{equation} y = @@ -365,4 +420,4 @@ Der Grund dafür ist die Struktur \end{equation} bei welcher \(p(x)\) eine beliebige Potenz von \(x\) darstellt. -Jedes mal wenn \(x\) gesucht ist und in einer Struktur der Art \eqref{lambertw:eqEinsatzLambW} vorkommt, dann kann mit ein paar Umformungen die Struktur \(f(x)e^{f(x)}\) erzielt werden. Wie bereits in diesem Abschnitt \ref{lambertw:subsection:FunkNachT} gezeigt wurde, kann \(x\) nun mittels der \(W(x)\)-Funktion aufgelöst werden. Erstaunlicherweise ist \eqref{lambertw:eqEinsatzLambW} eine Struktur die oftmals vorkommt, was die Lambert-W-Funktion so wichtig macht. \ No newline at end of file +Jedes Mal wenn \(x\) gesucht ist und in einer Struktur der Art \eqref{lambertw:eqEinsatzLambW} vorkommt, dann kann mit ein paar Umformungen die Struktur \(f(x)e^{f(x)}\) erzielt werden. Wie bereits in diesem Abschnitt \ref{lambertw:subsection:FunkNachT} gezeigt wurde, kann \(x\) nun mittels der \(W(x)\)-Funktion aufgelöst werden. Erstaunlicherweise ist \eqref{lambertw:eqEinsatzLambW} eine Struktur die oftmals vorkommt, was die Lambert-\(W\)-Funktion so wichtig macht. \ No newline at end of file -- cgit v1.2.1 From 70c7a56a5b596a09cb63f5749eee342ab2086770 Mon Sep 17 00:00:00 2001 From: daHugen Date: Wed, 27 Jul 2022 14:06:50 +0200 Subject: made some changes --- buch/papers/lambertw/teil4.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil4.tex b/buch/papers/lambertw/teil4.tex index c959715..c79aa0c 100644 --- a/buch/papers/lambertw/teil4.tex +++ b/buch/papers/lambertw/teil4.tex @@ -363,9 +363,9 @@ Auf dem rechten Term von \eqref{lambertw:eqMitExp} beginnen wir langsam eine äh Die erste Sache die uns in \eqref{lambertw:eqMitExp} stört ist, dass \(\eta\) als Potenz da steht. Dieses Problem können wir loswerden, indem wir beidseitig mit \(\:\displaystyle \frac{1}{r_0-y_0}\:\) potenzieren: \begin{equation} - e^{\displaystyle \frac{-4t}{r_0-y_0}+\frac{y_0+r_0}{r_0-y_0}} + \operatorname{exp}\left(\displaystyle \frac{-4t}{r_0-y_0}+\frac{y_0+r_0}{r_0-y_0}\right) = - \eta\cdot e^{\displaystyle \frac{y_0+r_0}{r_0-y_0}\eta} . + \eta\cdot \operatorname{exp}\left(\displaystyle \frac{y_0+r_0}{r_0-y_0}\eta\right). \label{lambertw:eqOhnePotenz} \end{equation} Das nächste Problem auf welches wir in \eqref{lambertw:eqOhnePotenz} treffen ist, dass \(\eta\) nicht alleine im Exponent steht. Dies kann elegant mit folgender Substitution gelöst werden: @@ -379,14 +379,14 @@ Es gäbe natürlich andere Substitutionen wie z.B. \[\displaystyle \chi=\frac{y_0+r_0}{r_0-y_0}\cdot\eta,\] die auf dasselbe Ergebnis führen würden, aber \eqref{lambertw:eqChiSubst} liefert in einem Schritt die kompakteste Lösung. Also fahren wir mit der Substitution \eqref{lambertw:eqChiSubst} weiter, setzen diese in die Gleichung \eqref{lambertw:eqOhnePotenz} ein und multiplizieren beidseitig mit \(\chi\). Daraus erhalten wir folgende Gleichung: \begin{equation} - \chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}} + \chi\cdot \operatorname{exp}\left(\displaystyle \chi-\frac{4t}{r_0-y_0}\right) = \chi\eta\cdot e^{\displaystyle \chi\eta}. \label{lambertw:eqNachSubst} \end{equation} Nun sind wir endlich soweit, dass wir die angedeutete Lambert-\(W\)-Funktion \(W(x)\)einsetzen können. Wenn wir beidseitig \(W(x)\) anwenden, dann erhalten wir folgenden Ausdruck: \begin{equation} - W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right) + W\left(\chi\cdot \operatorname{exp}\left(\displaystyle \chi-\frac{4t}{r_0-y_0}\right)\right) = \chi\eta. \end{equation} @@ -396,7 +396,7 @@ Nach dem Auflösen nach \(x\) welches in \(\eta\) enthalten ist, erhalten wir di \label{lambertw:eqFunkXNachT} x(t) &= - x_0\cdot\sqrt{\frac{W\left(\chi\cdot e^{\displaystyle \chi-\frac{4t}{r_0-y_0}}\right)}{\chi}}, \\ + x_0\cdot\sqrt{\frac{W\left(\chi\cdot \operatorname{exp}\left(\displaystyle \chi-\frac{4t}{r_0-y_0}\right)\right)}{\chi}}, \\ \label{lambertw:eqFunkYNachT} y(x(t)) = -- cgit v1.2.1 From e7f4d8d568bf62c76f4bf0ffdc0fe009134c184d Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Wed, 27 Jul 2022 17:45:10 +0200 Subject: Herleitung Kapitel Bessel --- buch/papers/fm/03_bessel.tex | 123 +++++++++++++++++++++++++++++++++++++++++-- buch/papers/fm/Makefile | 8 +-- buch/papers/fm/packages.tex | 2 +- 3 files changed, 126 insertions(+), 7 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/03_bessel.tex b/buch/papers/fm/03_bessel.tex index aed084e..7a0e20e 100644 --- a/buch/papers/fm/03_bessel.tex +++ b/buch/papers/fm/03_bessel.tex @@ -4,9 +4,126 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{FM und Besselfunktion -\label{fm:section:teil2}} -\rhead{Teil 2} - +\label{fm:section:proof}} +\rhead{Herleitung} +Die momentane Trägerkreisfrequenz \(\omega_i\) wie schon in (ref) beschrieben ist, bringt die Vorigen Kapittel beschreiben. (Ableitung \(\frac{d \varphi(t)}{dt}\) mit sich). +Diese wiederum kann durch \(\beta\sin(\omega_mt)\) ausgedrückt werden, wobei es das Modulierende Signal \(m(t)\) ist. +Somit haben wir unser \(x_c\) welches +\[ +\cos(\omega_c t+\beta\sin(\omega_mt)) +\] +ist. +\subsection{Herleitung} +Das Ziel ist es Unser moduliertes Signal mit der Besselfunktion so auszudrücken: +\begin{align} + \cos(\omega_ct+\beta\sin(\omega_mt)) + &= + \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t) + \label{fm:eq:proof} +\end{align} +Doch dazu brauchen wir die Hilfe der Additionsthoerme +\begin{align} + \cos(A + B) + &= + \cos(A)\cos(B)-\sin(A)\sin(B) + \label{fm:eq:addth1} + \\ + 2\cos (A)\cos (B) + &= + \cos(A-B)+\cos(A+B) + \label{fm:eq:addth2} + \\ + 2\sin(A)\sin(B) + &= + \cos(A-B)-\cos(A+B) + \label{fm:eq:addth3} +\end{align} +und die drei Besselfunktions indentitäten, +\begin{align} + \cos(\beta\sin\phi) + &= + J_0(\beta) + 2\sum_{k=1}^\infty J_{2k}(\beta) \cos(2k\phi) + \label{fm:eq:besselid1} + \\ + \sin(\beta\sin\phi) + &= + J_0(\beta) + 2\sum_{k=1}^\infty J_{2k+1}(\beta) \cos((2k+1)\phi) + \label{fm:eq:besselid2} + \\ + J_{-n}(\beta) &= (-1)^n J_n(\beta) + \label{fm:eq:besselid3} +\end{align} +welche man im Kapitel (ref), ref, ref findet. +\newline +Mit dem \refname{fm:eq:addth1} wird aus dem modulierten Signal +\[ +\cos(\omega_c t + \beta\sin(\omega_mt)) +\] +das Signal +\[ + \cos(\omega_c t)\cos(\beta\sin(\omega_m t))-\sin(\omega_c)\sin(\beta\sin(\omega_m t)). + \label{fm:eq:start} +\] +Zu beginn wird der erste Teil +\[ + \cos(\omega_c)\cos(\beta\sin(\omega_mt)) +\] +mit hilfe der Bessel indentität \ref{fm:eq:besselid1} zum +\[ + J_0(\beta)\cos(\omega_c) + \sum_{k=1}^\infty J_{2k}(\beta) 2\cos(\omega_c t)\cos(2k\omega_m t) +\] +\newline +TODO 2 und \(\cos( )\) in lime. +wobei mit dem \colorbox{lime}{Additionstheorem} \ref{fm:eq:addth2} zum +\[ + J_0(\beta)\dot \cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) \{ \cos((\omega_c - 2k\omega_m) t)+\cos((\omega_c + 2k\omega_m) t) \} +\] +wird. +Wenn dabei \(2k\) durch alle geraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert erhält man den vereinfachten Term +\[ + \sum_{n\, gerade} J_{n}(\beta) \cos((\omega_c + n\omega_m) t) + \label{fm:eq:gerade} +\] +\newline +nun zum zweiten Teil des Term \ref{fm:eq:start} +\[ + \sin(\omega_c)\sin(\beta\sin(\omega_m t)). +\] +Dieser wird mit der \ref{fm:eq:besselid2} Bessel indentität zu +\[ + J_0(\beta) \dot \sin(\omega_c t) + \sum_{k=1}^\infty J_{2k+1}(\beta) 2\sin(\omega_c t)\cos((2k+1)\omega_m t). +\] +Auch hier wird ein Additionstheorem \ref{fm:eq:addth3} gebraucht um aus dem Sumanden diesen Term +\[ + J_0(\beta) \dot \sin(\omega_c) + \sum_{k=1}^\infty J_{2k+1}(\beta) \{ \underbrace{\cos((\omega_c-(2k+1)\omega_m) t)}_{Teil1} - \cos((\omega_c+(2k+1)\omega_m) t) \} +\]zu gewinnen. +Wenn dabei \(2k +1\) durch alle ungeraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert. +Zusätzlich dabei noch die letzte Bessel indentität \ref{fm:eq:besselid3} brauchen, ist bei allen ungeraden negativen \(n : J_{-n}(\beta) = -1 J_n(\beta)\). +Somit wird Teil1 zum negativen Term und die Summe vereinfacht sich zu +\[ + \sum_{n\, ungerade} -1 J_{n}(\beta) \cos((\omega_c + n\omega_m) t). + \label{fm:eq:ungerade} +\] +Substituiert man nun noch \(n \text{mit} -n \) so fällt das \(-1\) weg. +Beide Teile \ref{fm:eq:gerade} Gerade und \ref{fm:eq:ungerade} Ungerade ergeben zusammen +\[ + \cos(\omega_ct+\beta\sin(\omega_mt)) + = + \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t). +\] +Somit ist \ref{fm:eq:proof} bewiesen. +\newpage +\subsection{Bessel und Frequenzspektrum} +Um sich das ganze noch einwenig Bildlicher vorzustellenhier einmal die Besselfunktion \(J_{k}(\beta)\) in geplottet. +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{/home/joshua/Documents/SeminarSpezielleFunktionen/buch/papers/fm/FM presentation/images/bessel.png} + \caption{Bessle Funktion \(J_{k}(\beta)\)} + \label{fig:bessel} +\end{figure} +TODO Grafik einfügen, +\newline +Nun einmal das Modulierte FM signal im Frequenzspektrum mit den einzelen Summen dargestellt TODO Hier wird beschrieben wie die Bessel Funktion der FM im Frequenzspektrum hilft, wieso diese gebrauch wird und ihre Vorteile. diff --git a/buch/papers/fm/Makefile b/buch/papers/fm/Makefile index c84963f..aee954f 100644 --- a/buch/papers/fm/Makefile +++ b/buch/papers/fm/Makefile @@ -16,15 +16,17 @@ SOURCES := \ #FIGURES := $(patsubst tikz/%.tex, figures/%.pdf, $(TIKZFIGURES)) -#.PHONY: images -#images: $(FIGURES) +all: images standalone + +.PHONY: images +images: $(FIGURES) #figures/%.pdf: tikz/%.tex # mkdir -p figures # pdflatex --output-directory=figures $< .PHONY: standalone -standalone: standalone.tex $(SOURCES) #$(FIGURES) +standalone: standalone.tex $(SOURCES) $(FIGURES) mkdir -p standalone cd ../..; \ pdflatex \ diff --git a/buch/papers/fm/packages.tex b/buch/papers/fm/packages.tex index 4cba2b6..f0ca8cc 100644 --- a/buch/papers/fm/packages.tex +++ b/buch/papers/fm/packages.tex @@ -7,4 +7,4 @@ % if your paper needs special packages, add package commands as in the % following example %\usepackage{packagename} - +\usepackage{xcolor} -- cgit v1.2.1 From 66adfe693cae143039fe70c473d3b0a6b7d64687 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 27 Jul 2022 18:07:36 +0200 Subject: Notation in Teil0 adjusted --- buch/papers/lambertw/teil0.tex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 6ab0bae..1431faa 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -7,7 +7,7 @@ \label{lambertw:section:Was_sind_Verfolgungskurven}} \rhead{Was sind Verfolgungskurven?} -Verfolgungskurven tauchen oft auf bei Fragen wie "Welchen Pfad begeht ein Hund während er einer Katze nachrennt.". +Verfolgungskurven tauchen oft auf bei Fragen wie "Welchen Pfad begeht ein Hund während er einer Katze nachrennt?". Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. Der Verfolger verfolgt sein Ziel, das versucht zu entkommen. Der Pfad, den der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. @@ -25,7 +25,7 @@ Der Verfolger hat nur einen direkten Einfluss auf seinen Geschwindigkeitsvektor. Mit diesem kann er neben Richtung und Betrag auch den Abstand zwischen Verfolger und Ziel kontrollieren. Wenn zwei dieser drei Parameter durch die Strategie definiert werden, ist der dritte nicht mehr frei. Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um den Verfolger komplett zu beschreiben. - +% \begin{table} \centering \begin{tabular}{|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|>{$}c<{$}|} @@ -64,7 +64,7 @@ Die konstante Geschwindigkeit kann man mit der Gleichung \begin{equation} |\dot{v}| = \operatorname{const} = A - \quad A\in\mathbb{R}>0 + \text{,}\quad A\in\mathbb{R}^+ \end{equation} darstellen. Der Geschwindigkeitsvektor wiederum kann mit der Gleichung \begin{equation} @@ -77,6 +77,7 @@ Die Differenz der Ortsvektoren $v$ und $z$ ist ein Vektor der vom Punkt $V$ auf Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, die Länge auf eins festgelegt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. + Nun wird die Gleichung mit $\dot{v}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. Somit ergeben sich \begin{align} \frac{z-v}{|z-v|}\cdot|\dot{v}|\cdot\dot{v} -- cgit v1.2.1 From 141e6d40c59f7cc3eda4ae04b5b1b57e7c7f4075 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 27 Jul 2022 18:10:05 +0200 Subject: adjusted notation in Teil0 --- buch/papers/lambertw/teil0.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 1431faa..f0589e5 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -49,32 +49,32 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um \begin{figure} \centering \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.pdf} - \caption{Vektordarstellung Strategie 1} + \caption{Vektordarstellung Jagdstrategie} \label{lambertw:grafic:pursuerDGL2} \end{figure} % In der Tabelle \ref{lambertw:table:Strategien} sind drei mögliche Strategien aufgezählt. -Im Folgenden wird nur noch auf die Strategie 1 eingegangen. +Im Folgenden wird nur noch auf die Jagdstrategie eingegangen. Bei dieser Strategie ist die Geschwindigkeit konstant und der Verfolger bewegt sich immer direkt auf sein Ziel zu. Der Verfolger und sein Ziel werden als Punkte $V$ und $Z$ modelliert. - In der Abbildung \ref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, wobei $v$ der Ortsvektor des Verfolgers, $z$ der Ortsvektor des Ziels und $\dot{v}$ der Geschwindigkeitsvektor des Verfolgers ist. +Der Geschwindigkeitsvektor entspricht dem Richtungsvektors des Verfolgers. Die konstante Geschwindigkeit kann man mit der Gleichung \begin{equation} |\dot{v}| = \operatorname{const} = A \text{,}\quad A\in\mathbb{R}^+ \end{equation} -darstellen. Der Geschwindigkeitsvektor wiederum kann mit der Gleichung +darstellen. Der Geschwindigkeitsvektor kann mit der Gleichung \begin{equation} \frac{z-v}{|z-v|}\cdot|\dot{v}| = \dot{v} \end{equation} -beschrieben werden. +beschrieben werden, wenn die Jagdstrategie verwendet wird. Die Differenz der Ortsvektoren $v$ und $z$ ist ein Vektor der vom Punkt $V$ auf $Z$ zeigt. -Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, die Länge auf eins festgelegt. +Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, ein Einheitsvektor erzeugt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. @@ -89,7 +89,7 @@ Nun wird die Gleichung mit $\dot{v}$ skalar multipliziert, um das Gleichungssyst &= 1 \text{.} \end{align} -Die Lösungen dieser Differentialgleichung sind die gesuchten Verfolgungskurven, insofern der Verfolger die Strategie 1 verwendet. +Die Lösungen dieser Differentialgleichung sind die gesuchten Verfolgungskurven, insofern der Verfolger die Jagdstrategie verwendet. % \subsection{Ziel \label{lambertw:subsection:Ziel}} -- cgit v1.2.1 From 18378909d070e684c0d7ee0b539be7baeee62cea Mon Sep 17 00:00:00 2001 From: Fabian <@> Date: Wed, 27 Jul 2022 18:45:06 +0200 Subject: 0f1, abgabe --- buch/papers/0f1/references.bib | 19 ++++++++++++----- buch/papers/0f1/teil1.tex | 3 +-- buch/papers/0f1/teil2.tex | 20 +++++++----------- buch/papers/0f1/teil3.tex | 46 +++++++++++++++++++++++++----------------- 4 files changed, 49 insertions(+), 39 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/0f1/references.bib b/buch/papers/0f1/references.bib index 2d3f874..ca1b558 100644 --- a/buch/papers/0f1/references.bib +++ b/buch/papers/0f1/references.bib @@ -10,7 +10,7 @@ date = {2022-07-07}, year = {2022}, month = {7}, - day = {19} + day = {7} } @online{0f1:wiki-airyFunktion, @@ -19,7 +19,7 @@ date = {2022-07-07}, year = {2022}, month = {7}, - day = {25} + day = {7} } @online{0f1:wiki-kettenbruch, @@ -37,7 +37,7 @@ date = {2022-07-07}, year = {2022}, month = {7}, - day = {25} + day = {7} } @online{0f1:wolfram-0f1, @@ -46,7 +46,7 @@ date = {2022-07-07}, year = {2022}, month = {7}, - day = {25} + day = {7} } @online{0f1:wiki-fraction, @@ -55,7 +55,16 @@ date = {2022-07-07}, year = {2022}, month = {7}, - day = {25} + day = {7} +} + +@online{0f1:code, + title = {Vollständiger C-Code}, + url ={https://github.com/AndreasFMueller/SeminarSpezielleFunktionen/tree/master/buch/papers/0f1/listings}, + date = {2022-07-07}, + year = {2022}, + month = {7}, + day = {7} } @book{0f1:SeminarNumerik, diff --git a/buch/papers/0f1/teil1.tex b/buch/papers/0f1/teil1.tex index f8d70a8..2ca9647 100644 --- a/buch/papers/0f1/teil1.tex +++ b/buch/papers/0f1/teil1.tex @@ -6,8 +6,7 @@ \section{Mathematischer Hintergrund \label{0f1:section:mathHintergrund}} \rhead{Mathematischer Hintergrund} -Basierend auf den Herleitungen des vorhergehenden Kapitels \ref{buch:rekursion:section:hypergeometrische-funktion} -und dem Seminarbuch Numerik \cite{0f1:kettenbrueche}, werden im nachfolgenden Abschnitt nochmals die Resultate +Basierend auf den Herleitungen des vorhergehenden Kapitels \ref{buch:rekursion:section:hypergeometrische-funktion}, werden im nachfolgenden Abschnitt nochmals die Resultate beschrieben. \subsection{Hypergeometrische Funktion diff --git a/buch/papers/0f1/teil2.tex b/buch/papers/0f1/teil2.tex index 3c2b5cd..9269961 100644 --- a/buch/papers/0f1/teil2.tex +++ b/buch/papers/0f1/teil2.tex @@ -6,7 +6,7 @@ \section{Umsetzung \label{0f1:section:teil2}} \rhead{Umsetzung} -Zur Umsetzung wurden drei verschiedene Ansätze gewählt. Dabei wurde der Schwerpunkt auf die Funktionalität und eine gute Lesbarkeit des Codes gelegt. +Zur Umsetzung wurden drei verschiedene Ansätze gewählt.\cite{0f1:code} Dabei wurde der Schwerpunkt auf die Funktionalität und eine gute Lesbarkeit des Codes gelegt. Die Unterprogramme wurde jeweils, wie die GNU Scientific Library, in C geschrieben. Die Zwischenresultate wurden vom Hauptprogramm in einem CSV-File gespeichert. Anschliessen wurde mit der Matplot-Libray in Python die Resultate geplottet. \subsection{Potenzreihe @@ -35,20 +35,16 @@ Ein endlicher Kettenbruch ist ein Bruch der Form a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{b_3}{a_3+\cdots}}} \end{equation*} in welchem $a_0, a_1,\dots,a_n$ und $b_1,b_2,\dots,b_n$ ganze Zahlen darstellen. - Die Kurzschreibweise für einen allgemeinen Kettenbruch ist \begin{equation*} a_0 + \frac{a_1|}{|b_1} + \frac{a_2|}{|b_2} + \frac{a_3|}{|b_3} + \cdots \end{equation*} und ist somit verknüpfbar mit der Potenzreihe. \cite{0f1:wiki-kettenbruch} - -Angewendet auf die Funktion $\mathstrut_0F_1$ bedeutet dies: +Angewendet auf die Funktion $\mathstrut_0F_1$ bedeutet dies\cite{0f1:wiki-fraction}: \begin{equation*} \mathstrut_0F_1(;c;z) = 1 + \frac{z}{c\cdot1!} + \frac{z^2}{c(c+1)\cdot2!} + \frac{z^3}{c(c+1)(c+2)\cdot3!} + \cdots \end{equation*} -\cite{0f1:wiki-fraction} - Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f1:math:kettenbruch:0f1:eq} \begin{equation} \label{0f1:math:kettenbruch:0f1:eq} @@ -57,13 +53,13 @@ Nach allen Umformungen ergibt sich folgender, irregulärer Kettenbruch \eqref{0f der als Code \ref{0f1:listing:kettenbruchIterativ} umgesetzt wurde. \cite{0f1:wolfram-0f1} -\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchIterativ}, firstline=8]{papers/0f1/listings/kettenbruchIterativ.c} +\lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchIterativ}, firstline=8]{papers/0f1/listings/kettenbruchIterativ.c} \subsection{Rekursionsformel \label{0f1:subsection:rekursionsformel}} -Wesentlich stabiler zur Berechnung eines Kettenbruches ist die Rekursionsformel. Nachfolgend wird die verkürzte Herleitung vom Kettenbruch zur Rekursionsformel aufgezeigt. Eine vollständige Schritt für Schritt Herleitung ist im Seminarbuch Numerik, im Kapitel Kettenbrüche zu finden. \cite{0f1:kettenbrueche}) +Wesentlich stabiler zur Berechnung eines Kettenbruches ist die Rekursionsformel. Nachfolgend wird die verkürzte Herleitung vom Kettenbruch zur Rekursionsformel aufgezeigt. Eine vollständige Schritt für Schritt Herleitung ist im Seminarbuch Numerik, im Kapitel Kettenbrüche zu finden. \cite{0f1:kettenbrueche} -\subsubsection{Verkürzte Herleitung} +\subsubsection{Herleitung} Ein Näherungsbruch in der Form \begin{align*} \cfrac{A_k}{B_k} = a_k + \cfrac{b_{k + 1}}{a_{k + 1} + \cfrac{p}{q}} @@ -93,7 +89,6 @@ Dies lässt sich auch durch die folgende Matrizenschreibweise ausdrücken: \end{pmatrix}. %\label{0f1:math:rekursionsformel:herleitung} \end{equation*} - Wendet man dies nun auf den Kettenbruch in der Form \begin{equation*} \frac{A_k}{B_k} = a_0 + \cfrac{b_1}{a_1+\cfrac{b_2}{a_2+\cfrac{\cdots}{\cdots+\cfrac{b_{k-1}}{a_{k-1} + \cfrac{b_k}{a_k}}}}} @@ -124,7 +119,6 @@ an, ergibt sich folgende Matrixdarstellungen: a_k \end{pmatrix} \end{align*} - Nach vollständiger Induktion ergibt sich für den Schritt $k$, die Matrix \begin{equation} \label{0f1:math:matrix:ende:eq} @@ -142,7 +136,6 @@ Nach vollständiger Induktion ergibt sich für den Schritt $k$, die Matrix a_k \end{pmatrix}. \end{equation} - Und Schlussendlich kann der Näherungsbruch \[ \frac{Ak}{Bk} @@ -161,6 +154,7 @@ B_{-1} &= 1 & B_0 &= 1 \item Schritt $k\to k+1$: \[ \begin{aligned} +\label{0f1:math:loesung:eq} k &\rightarrow k + 1: & A_{k+1} &= A_{k-1} \cdot b_k + A_k \cdot a_k \\ @@ -175,4 +169,4 @@ Näherungsbruch: \qquad$\displaystyle\frac{A_k}{B_k}$ Ein grosser Vorteil dieser Umsetzung \ref{0f1:listing:kettenbruchRekursion} ist, dass im Vergleich zum Code \ref{0f1:listing:kettenbruchIterativ} eine Division gespart werden kann und somit weniger Rundungsfehler entstehen können. %Code -\lstinputlisting[style=C,float,caption={Iterativ umgesetzter Kettenbruch.},label={0f1:listing:kettenbruchRekursion}, firstline=8]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file +\lstinputlisting[style=C,float,caption={Rekursionsformel für Kettenbruch.},label={0f1:listing:kettenbruchRekursion}, firstline=8]{papers/0f1/listings/kettenbruchRekursion.c} \ No newline at end of file diff --git a/buch/papers/0f1/teil3.tex b/buch/papers/0f1/teil3.tex index 355e1b7..2855e26 100644 --- a/buch/papers/0f1/teil3.tex +++ b/buch/papers/0f1/teil3.tex @@ -3,17 +3,37 @@ % % (c) 2022 Fabian Dünki, Hochschule Rapperswil % -\section{Resultate +\section{Auswertung \label{0f1:section:teil3}} \rhead{Resultate} Im Verlauf des Seminares hat sich gezeigt, das ein einfacher mathematischer Algorithmus zu implementieren gar nicht so einfach ist. -So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen z in der Funktion $\mathstrut_0F_1(;c;z)$. -Ebenso wird, je grösser der Wert z wird $\mathstrut_0F_1(;c;z)$, desto mehr weichen die berechneten Resultate -von den Erwarteten ab. \cite{0f1:wolfram-0f1} +So haben alle drei umgesetzten Ansätze Probleme mit grossen negativen $z$ in der Funktion $\mathstrut_0F_1(;c;z)$. +Ebenso kann festgestellt werden,dass je grösser der Wert $z$ in $\mathstrut_0F_1(;c;z)$ wird, desto mehr weichen die berechneten Resultate von den Erwarteten ab. \cite{0f1:wolfram-0f1} + +\subsection{Konvergenz +\label{0f1:subsection:konvergenz}} +Es zeigt sich in Abbildung \ref{0f1:ausblick:plot:airy:konvergenz}, dass schon nach drei Iterationen ($k = 3$) die Funktionen schon genaue Resultate im Bereich von -2 bis 2 liefert. Ebenso kann festgestellt werden, dass der Kettenbruch schneller konvergiert und im positiven Bereich sogar mit der Referenzfunktion $Ai(x)$ übereinstimmt. Da die Rekursionsformel \ref{0f1:listing:kettenbruchRekursion} eine Abwandlung des Kettenbruches ist, verhalten sich die Funktionen in diesem Fall gleich. + +Erst wenn mehrere Durchläufe gemacht werden, um die Genauigkeit zu verbessern, ist der Kettenbruch den anderen zwei Algorithmen, bezüglich Konvergenz überlegen. +Interessant ist auch, dass die Rekursionsformel nahezu gleich schnell wie die Potenzreihe konvergiert, aber sich danach einschwingt. Dieses Verhalten ist auch bei grösseren $z$ zu beobachten, allerdings ist dann die Differenz zwischen dem ersten lokalen Minimum von k bis zum Abbruch kleiner. +\ref{0f1:ausblick:plot:konvergenz:positiv} +Dieses Phänomen ist auf die Lösung der Rekursionsformel zurück zu führen.\ref{0f1:math:loesung:eq} Da im Gegensatz die ganz kleinen Werte nicht zu einer Konvergenz wie beim Kettenbruch führen, sondern sich noch eine Zeit lang durch die Multiplikation aufschwingen. + +Ist $z$ negativ wie im Abbild \ref{0f1:ausblick:plot:konvergenz:negativ}, führt dies zu einer Gegenseitigen Kompensation von negativen und positiven Termen so bricht die Rekursionsformel hier zusammen mit der Potenzreihe ab. +Die ansteigende Differenz mit anschliessender, ist aufgrund der sich alternierenden Termen mit wechselnden Vorzeichens zu erklären. + +\subsection{Stabilität +\label{0f1:subsection:Stabilitaet}} +Verändert sich der Wert von z in $\mathstrut_0F_1(;c;z)$ gegen grössere positive Werte, wie zum Beispiel $c = 800$ liefert die Kettenbruch-Funktion \ref{0f1:listing:kettenbruchIterativ} \verb+inf+ zurück. Dies könnte durch ein Abbruchkriterien abgefangen werden. Allerdings würde das, bei grossen Werten zulasten der Genauigkeit gehen. Trotzdem könnte, je nach Anwendung, auf ein paar Nachkommastellen verzichtet werden. + +Wohingegen die Potenzreihe \ref{0f1:listing:potenzreihe} das Problem hat, dass je mehr Terme berechnet werden, desto schneller wächst die Fakultät und irgendwann gibt es eine Bereichsüberschreitung von \verb+double+. Schlussendlich gibt das Unterprogramm das Resultat \verb+-nan(ind)+ zurück. +Die Rekursionformel \ref{0f1:listing:kettenbruchRekursion} liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. Wie schon vermutet ist die Rekursionsformel, im positivem Bereich, der stabilste Algorithmus. Um die Stabilität zu gewährleisten, muss wie in \ref{0f1:ausblick:plot:konvergenz:positiv} dargestellt, die Iterationstiefe $k$ genug gross gewählt werden. + +Im negativem Bereich sind alle gewählten und umgesetzten Ansätze instabil. Grund dafür ist die Fakultät im Nenner, was zum Phänomen der Auslöschung führt.\cite{0f1:SeminarNumerik} Schön zu beobachten ist dies in der Abbildung \ref{0f1:ausblick:plot:airy:stabilitaet} mit der Airy-Funktion als Test. So sind sowohl der Kettenbruch, als auch die Rekursionsformel bis ungefähr $\frac{-15^3}{9}$ stabil. Dies macht auch Sinn, da beide auf der gleichen mathematischen Grundlage basieren. Danach verhält sich allerdings die Instabilität unterschiedlich. Das unterschiedliche Verhalten kann damit erklärt werden, dass beim Kettenbruch jeweils eine zusätzliche Division stattfindet. Diese Unterschiede sind auch in Abbildung \ref{0f1:ausblick:plot:konvergenz:positiv} festzustellen. + + -\subsection{Auswertung -\label{0f1:subsection:auswertung}} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{papers/0f1/images/konvergenzAiry.pdf} @@ -38,19 +58,7 @@ von den Erwarteten ab. \cite{0f1:wolfram-0f1} \begin{figure} \centering \includegraphics[width=1\textwidth]{papers/0f1/images/stabilitaet.pdf} - \caption{Stabilität der 3 Algorithmen verglichen mit der GNU Scientific Library. + \caption{Stabilität der 3 Algorithmen verglichen mit der Referenz Funktion $Ai(x)$. \label{0f1:ausblick:plot:airy:stabilitaet}} \end{figure} -\begin{itemize} - \item Negative Zahlen sind sowohl für die Potenzreihe als auch für den Kettenbruch ein Problem. - \item Die Potenzreihe hat das Problem, je tiefer die Rekursionstiefe, desto mehr machen die Brüche ein Problem. Also der Nenner mit der Fakultät und dem Pochhammer Symbol. - \item Die Rekursionformel liefert für sehr grosse positive Werte die genausten Ergebnisse, verglichen mit der GNU Scientific Library. -\end{itemize} - - -\subsection{Ausblick -\label{0f1:subsection:ausblick}} -Eine mögliche Lösung zum Problem ist \cite{0f1:SeminarNumerik} -{\color{red} TODO beschreiben Lösung} - -- cgit v1.2.1 From 166573a69495056cfeaf76624373a74326374170 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Wed, 27 Jul 2022 19:28:06 +0200 Subject: Reorganized Kapitel --- buch/papers/fm/00_modulation.tex | 28 ++++++++++++++++ buch/papers/fm/01_AM-FM.tex | 47 --------------------------- buch/papers/fm/01_AM.tex | 29 +++++++++++++++++ buch/papers/fm/02_FM.tex | 56 ++++++++++++++++++++++++++++++++ buch/papers/fm/02_frequenzyspectrum.tex | 57 --------------------------------- buch/papers/fm/Makefile | 5 +-- buch/papers/fm/Makefile.inc | 5 +-- buch/papers/fm/main.tex | 6 ++-- 8 files changed, 123 insertions(+), 110 deletions(-) create mode 100644 buch/papers/fm/00_modulation.tex delete mode 100644 buch/papers/fm/01_AM-FM.tex create mode 100644 buch/papers/fm/01_AM.tex create mode 100644 buch/papers/fm/02_FM.tex delete mode 100644 buch/papers/fm/02_frequenzyspectrum.tex (limited to 'buch/papers') diff --git a/buch/papers/fm/00_modulation.tex b/buch/papers/fm/00_modulation.tex new file mode 100644 index 0000000..dc99b40 --- /dev/null +++ b/buch/papers/fm/00_modulation.tex @@ -0,0 +1,28 @@ +% +% teil3.tex -- Beispiel-File für Teil 3 +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\subsection{Modulationsarten\label{fm:section:modulation}} + +Das sinusförmige Trägersignal hat die übliche Form: +\(x_c(t) = A_c \cdot \cos(\omega_c(t)+\varphi)\). +Wobei die konstanten Amplitude \(A_c\) und Phase \(\varphi\) vom Nachrichtensignal \(m(t)\) verändert wird. +Der Parameter \(\omega_c\), die Trägerkreisfrequenz bzw. die Trägerfrequenz \(f_c = \frac{\omega_c}{2\pi}\), +steht nicht für die modulation zur verfügung, statt dessen kann durch ihn die Frequenzachse frei gewählt werden. +\newblockpunct +Jedoch ist das für die Vielfalt der Modulationsarten keine Einschrenkung. +Ein Nachrichtensignal kann auch über die Momentanfrequenz (instantenous frequency) \(\omega_i\) eines trägers verändert werden. +Mathematisch wird dann daraus +\[ + \omega_i = \omega_c + \frac{d \varphi(t)}{dt} +\] +mit der Ableitung der Phase\cite{fm:NAT}. +Mit diesen drei parameter ergeben sich auch drei modulationsarten, die Amplitudenmodulation welche \(A_c\) benutzt, +die Phasenmodulation \(\varphi\) und dann noch die Momentankreisfrequenz \(\omega_i\): +\newline +\newline +To do: Bilder jeder Modulationsart + + + diff --git a/buch/papers/fm/01_AM-FM.tex b/buch/papers/fm/01_AM-FM.tex deleted file mode 100644 index 163c792..0000000 --- a/buch/papers/fm/01_AM-FM.tex +++ /dev/null @@ -1,47 +0,0 @@ -% -% einleitung.tex -- Beispiel-File für die Einleitung -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{AM - FM\label{fm:section:teil0}} -\rhead{AM- FM} - -Das sinusförmige Trägersignal hat die übliche Form: -\(x_c(t) = A_c \cdot \cos(\omega_c(t)+\varphi)\). -Wobei die konstanten Amplitude \(A_c\) und Phase \(\varphi\) vom Nachrichtensignal \(m(t)\) verändert wird. -Der Parameter \(\omega_c\), die Trägerkreisfrequenz bzw. die Trägerfrequenz \(f_c = \frac{\omega_c}{2\pi}\), -steht nicht für die modulation zur verfügung, statt dessen kann durch ihn die Frequenzachse frei gewählt werden. -\newblockpunct -Jedoch ist das für die Vielfalt der Modulationsarten keine Einschrenkung. -Ein Nachrichtensignal kann auch über die Momentanfrequenz (instantenous frequency) \(\omega_i\) eines trägers verändert werden. -Mathematisch wird dann daraus -\[ - \omega_i = \omega_c + \frac{d \varphi(t)}{dt} -\] -mit der Ableitung der Phase\cite{fm:NAT}. -Mit diesen drei parameter ergeben sich auch drei modulationsarten, die Amplitudenmodulation welche \(A_c\) benutzt, -die Phasenmodulation \(\varphi\) und dann noch die Momentankreisfrequenz \(\omega_i\): -\newline -\newline -To do: Bilder jeder Modulationsart - -\subsection{AM - Amplitudenmodulation} -Das Ziel ist FM zu verstehen doch dazu wird zuerst AM erklärt welches einwenig einfacher zu verstehen ist und erst dann übertragen wir die Ideeen in FM. -Nun zur Amplitudenmodulation verwenden wir das bevorzugte Trägersignal -\[ - x_c(t) = A_c \cdot \cos(\omega_ct). -\] -Dies bringt den grossen Vorteil das, dass modulierend Signal sämtliche Anteile im Frequenzspektrum inanspruch nimmt -und das Trägersignal nur zwei komplexe Schwingungen besitzt. -Dies sieht man besonders in der Eulerischen Formel -\[ - x_c(t) = \frac{A_c}{2} \cdot e^{j\omega_ct}\;+\;\frac{A_c}{2} \cdot e^{-j\omega_ct}. -\] -Dabei ist die negative Frequenz der zweiten komplexen Schwingung zwingend erforderlich, damit in der Summe immer ein reelwertiges Trägersignal ergibt. -Nun wird der parameter \(A_c\) durch das Moduierende Signal \(m(t)\) ersetzt, wobei so \(m(t) \leqslant |1|\) normiert wurde. -\newline -\newline -TODO: -Hier beschrieib ich was AmplitudenModulation ist und mache dan den link zu Frequenzmodulation inkl Formel \[\cos( \cos x)\] -so wird beschrieben das daraus eigentlich \(x_c(t) = A_c \cdot \cos(\omega_i)\) wird und somit \(x_c(t) = A_c \cdot \cos(\omega_c + \frac{d \varphi(t)}{dt})\). -Da \(\sin \) abgeleitet \(\cos \) ergibt, so wird aus dem \(m(t)\) ein \( \frac{d \varphi(t)}{dt}\) in der momentan frequenz. \[ \Rightarrow \cos( \cos x) \] diff --git a/buch/papers/fm/01_AM.tex b/buch/papers/fm/01_AM.tex new file mode 100644 index 0000000..921fcf2 --- /dev/null +++ b/buch/papers/fm/01_AM.tex @@ -0,0 +1,29 @@ +% +% einleitung.tex -- Beispiel-File für die Einleitung +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Amplitudenmodulation\label{fm:section:teil0}} +\rhead{AM} + +Das Ziel ist FM zu verstehen doch dazu wird zuerst AM erklärt welches einwenig einfacher zu verstehen ist und erst dann übertragen wir die Ideen in FM. +Nun zur Amplitudenmodulation verwenden wir das bevorzugte Trägersignal +\[ + x_c(t) = A_c \cdot \cos(\omega_ct). +\] +Dies bringt den grossen Vorteil das, dass modulierend Signal sämtliche Anteile im Frequenzspektrum inanspruch nimmt +und das Trägersignal nur zwei komplexe Schwingungen besitzt. +Dies sieht man besonders in der Eulerischen Formel +\[ + x_c(t) = \frac{A_c}{2} \cdot e^{j\omega_ct}\;+\;\frac{A_c}{2} \cdot e^{-j\omega_ct}. +\] +Dabei ist die negative Frequenz der zweiten komplexen Schwingung zwingend erforderlich, damit in der Summe immer ein reelwertiges Trägersignal ergibt. +Nun wird der parameter \(A_c\) durch das Moduierende Signal \(m(t)\) ersetzt, wobei so \(m(t) \leqslant |1|\) normiert wurde. +\newline +\newline +TODO: +Hier beschrieib ich was AmplitudenModulation ist und mache dan den link zu Frequenzmodulation inkl Formel \[\cos( \cos x)\] +so wird beschrieben das daraus eigentlich \(x_c(t) = A_c \cdot \cos(\omega_i)\) wird und somit \(x_c(t) = A_c \cdot \cos(\omega_c + \frac{d \varphi(t)}{dt})\). +Da \(\sin \) abgeleitet \(\cos \) ergibt, so wird aus dem \(m(t)\) ein \( \frac{d \varphi(t)}{dt}\) in der momentan frequenz. \[ \Rightarrow \cos( \cos x) \] + +\subsection{Frequenzspektrum} \ No newline at end of file diff --git a/buch/papers/fm/02_FM.tex b/buch/papers/fm/02_FM.tex new file mode 100644 index 0000000..fedfaaa --- /dev/null +++ b/buch/papers/fm/02_FM.tex @@ -0,0 +1,56 @@ +% +% teil1.tex -- Beispiel-File für das Paper +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{FM +\label{fm:section:teil1}} +\rhead{FM} +\subsection{Frequenzspektrum} +TODO +Hier Beschreiben ich FM und FM im Frequenzspektrum. +%Sed ut perspiciatis unde omnis iste natus error sit voluptatem +%accusantium doloremque laudantium, totam rem aperiam, eaque ipsa +%quae ab illo inventore veritatis et quasi architecto beatae vitae +%dicta sunt explicabo. +%Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit +%aut fugit, sed quia consequuntur magni dolores eos qui ratione +%voluptatem sequi nesciunt +%\begin{equation} +%\int_a^b x^2\, dx +%= +%\left[ \frac13 x^3 \right]_a^b +%= +%\frac{b^3-a^3}3. +%\label{fm:equation1} +%\end{equation} +%Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, +%consectetur, adipisci velit, sed quia non numquam eius modi tempora +%incidunt ut labore et dolore magnam aliquam quaerat voluptatem. +% +%Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis +%suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? +%Quis autem vel eum iure reprehenderit qui in ea voluptate velit +%esse quam nihil molestiae consequatur, vel illum qui dolorem eum +%fugiat quo voluptas nulla pariatur? +% +%\subsection{De finibus bonorum et malorum +%\label{fm:subsection:finibus}} +%At vero eos et accusamus et iusto odio dignissimos ducimus qui +%blanditiis praesentium voluptatum deleniti atque corrupti quos +%dolores et quas molestias excepturi sint occaecati cupiditate non +%provident, similique sunt in culpa qui officia deserunt mollitia +%animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. +% +%Et harum quidem rerum facilis est et expedita distinctio +%\ref{fm:section:loesung}. +%Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil +%impedit quo minus id quod maxime placeat facere possimus, omnis +%voluptas assumenda est, omnis dolor repellendus +%\ref{fm:section:folgerung}. +%Temporibus autem quibusdam et aut officiis debitis aut rerum +%necessitatibus saepe eveniet ut et voluptates repudiandae sint et +%molestiae non recusandae. +%Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis +%voluptatibus maiores alias consequatur aut perferendis doloribus +%asperiores repellat. diff --git a/buch/papers/fm/02_frequenzyspectrum.tex b/buch/papers/fm/02_frequenzyspectrum.tex deleted file mode 100644 index 80e1c65..0000000 --- a/buch/papers/fm/02_frequenzyspectrum.tex +++ /dev/null @@ -1,57 +0,0 @@ -% -% teil1.tex -- Beispiel-File für das Paper -% -% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil -% -\section{AM-FM im Frequenzspektrum -\label{fm:section:teil1}} -\rhead{Problemstellung} - -TODO -Hier Beschreiben ich das Frequenzspektrum und wie AM und FM aussehen und generiert werden. -Somit auch die Herleitung des Frequenzspektrum. -%Sed ut perspiciatis unde omnis iste natus error sit voluptatem -%accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -%quae ab illo inventore veritatis et quasi architecto beatae vitae -%dicta sunt explicabo. -%Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -%aut fugit, sed quia consequuntur magni dolores eos qui ratione -%voluptatem sequi nesciunt -%\begin{equation} -%\int_a^b x^2\, dx -%= -%\left[ \frac13 x^3 \right]_a^b -%= -%\frac{b^3-a^3}3. -%\label{fm:equation1} -%\end{equation} -%Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -%consectetur, adipisci velit, sed quia non numquam eius modi tempora -%incidunt ut labore et dolore magnam aliquam quaerat voluptatem. -% -%Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -%suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -%Quis autem vel eum iure reprehenderit qui in ea voluptate velit -%esse quam nihil molestiae consequatur, vel illum qui dolorem eum -%fugiat quo voluptas nulla pariatur? -% -%\subsection{De finibus bonorum et malorum -%\label{fm:subsection:finibus}} -%At vero eos et accusamus et iusto odio dignissimos ducimus qui -%blanditiis praesentium voluptatum deleniti atque corrupti quos -%dolores et quas molestias excepturi sint occaecati cupiditate non -%provident, similique sunt in culpa qui officia deserunt mollitia -%animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. -% -%Et harum quidem rerum facilis est et expedita distinctio -%\ref{fm:section:loesung}. -%Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -%impedit quo minus id quod maxime placeat facere possimus, omnis -%voluptas assumenda est, omnis dolor repellendus -%\ref{fm:section:folgerung}. -%Temporibus autem quibusdam et aut officiis debitis aut rerum -%necessitatibus saepe eveniet ut et voluptates repudiandae sint et -%molestiae non recusandae. -%Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -%voluptatibus maiores alias consequatur aut perferendis doloribus -%asperiores repellat. diff --git a/buch/papers/fm/Makefile b/buch/papers/fm/Makefile index aee954f..f30c4a9 100644 --- a/buch/papers/fm/Makefile +++ b/buch/papers/fm/Makefile @@ -5,8 +5,9 @@ # SOURCES := \ - 01_AM-FM.tex \ - 02_frequenzyspectrum.tex \ + 00_modulation.tex \ + 01_AM.tex \ + 02_FM.tex \ 03_bessel.tex \ 04_fazit.tex \ main.tex diff --git a/buch/papers/fm/Makefile.inc b/buch/papers/fm/Makefile.inc index e5cd9f6..b686b98 100644 --- a/buch/papers/fm/Makefile.inc +++ b/buch/papers/fm/Makefile.inc @@ -6,8 +6,9 @@ dependencies-fm = \ papers/fm/packages.tex \ papers/fm/main.tex \ - papers/fm/01_AM-FM.tex \ - papers/fm/02_frequenzyspectrum.tex \ + papers/fm/01_modulation.tex \ + papers/fm/01_AM.tex \ + papers/fm/02_FM.tex \ papers/fm/03_bessel.tex \ papers/fm/04_fazit.tex \ papers/fm/references.bib diff --git a/buch/papers/fm/main.tex b/buch/papers/fm/main.tex index 6af3386..731f56f 100644 --- a/buch/papers/fm/main.tex +++ b/buch/papers/fm/main.tex @@ -29,8 +29,10 @@ Zuerst wird erklärt was \textit{FM-AM} ist, danach wie sich diese im Frequenzsp Erst dann erklär ich dir wie die Besselfunktion mit der Frequenzmodulation( acro?) zusammenhängt. Nun zur Modulation im nächsten Abschnitt.\cite{fm:NAT} -\input{papers/fm/01_AM-FM.tex} -\input{papers/fm/02_frequenzyspectrum.tex} + +\input{papers/fm/00_modulation.tex} +\input{papers/fm/01_AM.tex} +\input{papers/fm/02_FM.tex} \input{papers/fm/03_bessel.tex} \input{papers/fm/04_fazit.tex} -- cgit v1.2.1 From 8210e25cc561db3dea0464019dea50eb5dc482ed Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Wed, 27 Jul 2022 21:39:05 +0200 Subject: adjusted errors in teil1 and improved some sentences and structure --- buch/papers/lambertw/Bilder/pursuerDGL2.png | Bin 0 -> 48606 bytes buch/papers/lambertw/teil0.tex | 2 +- buch/papers/lambertw/teil1.tex | 97 ++++++++++++++++------------ 3 files changed, 58 insertions(+), 41 deletions(-) create mode 100644 buch/papers/lambertw/Bilder/pursuerDGL2.png (limited to 'buch/papers') diff --git a/buch/papers/lambertw/Bilder/pursuerDGL2.png b/buch/papers/lambertw/Bilder/pursuerDGL2.png new file mode 100644 index 0000000..f41dffe Binary files /dev/null and b/buch/papers/lambertw/Bilder/pursuerDGL2.png differ diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index f0589e5..5007867 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -48,7 +48,7 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um % \begin{figure} \centering - \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.pdf} + \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.png} \caption{Vektordarstellung Jagdstrategie} \label{lambertw:grafic:pursuerDGL2} \end{figure} diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index 2e75a19..a330838 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -10,16 +10,35 @@ Sehr oft kommt es vor, dass bei Verfolgungsproblemen die Frage auftaucht, ob das Ziel überhaupt erreicht wird. Wenn zum Beispiel die Geschwindigkeit des Verfolgers kleiner ist als diejenige des Ziels, gibt es Anfangsbedingungen bei denen das Ziel nie erreicht wird. Im Anschluss dieser Frage stellt sich meist die nächste Frage, wie lange es dauert bis das Ziel erreicht wird. -Diese beiden Fragen werden in diesem Kapitel behandelt und an einem Beispiel betrachtet. +Diese beiden Fragen werden in diesem Kapitel behandelt und am Beispiel aus \ref{lambertw:section:teil4} betrachtet. +Das Beispiel wird bei dieser Betrachtung noch etwas erweitert indem alle Punkte auf der gesamtem $xy$-Ebene als Startwerte zugelassen werden. + +Nun gilt es zu definieren, wann das Ziel erreicht wird. +Da sowohl Ziel und Verfolger als Punkte modelliert wurden, gilt das Ziel als erreicht, wenn die Koordinaten des Verfolgers mit denen des Ziels bei einem diskreten Zeitpunkt $t_1$ übereinstimmen. +Somit gilt es + +\begin{equation*} + z(t_1)=v(t_1) +\end{equation*} +% +zu lösen. +Die Parametrisierung von $z(t)$ ist im Beispiel definiert als +\begin{equation} + z(t) + = + \left( \begin{array}{c} 0 \\ t \end{array} \right)\text{.} +\end{equation} +% +Die Parametrisierung von $v(t)$ ist von den Startbedingungen abhängig. Deshalb wird die obige Bedingung jeweils für die unterschiedlichen Startbedingungen separat analysiert. + +\subsection{Anfangsbedingung im \RN{1}-Quadranten} % -%\subsection{Ziel erreichen (überarbeiten) -%\label{lambertw:subsection:ZielErreichen}} -Für diese Betrachtung wird das Beispiel aus \eqref{lambertw:section:teil4} zur Hilfe genommen. -Dazu werden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} mit Startbedingung im ersten Quadranten verwendet, welche +$ x_0$ $\boldsymbol{x}$ dd +Wenn der Verfolger im \RN{1}-Quadranten startet, dann kann $v(t)$ mit den Gleichungen aus \eqref{lambertw:eqFunkXNachT}, welche \begin{align*} x\left(t\right) &= - x_0\cdot\sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} \\ + x_0\cdot\sqrt{\frac{1}{\chi}W\left(\chi\cdot \exp(\chi-\frac{4t}{r_0-y_0})\right)} \\ y(t) &= \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right)\\ @@ -34,34 +53,16 @@ Dazu werden die hergeleiteten Gleichungen \eqref{lambertw:eqFunkXNachT} mit Star \sqrt{x_0^2+y_0^2} \end{align*} % -sind. -Das Ziel wird erreicht, wenn die Koordinaten des Verfolgers mit denen des Ziels bei einem diskreten Zeitpunkt $t_1$ übereinstimmen. -Somit gilt es - -\begin{equation*} - \vec{Z}(t_1)=\vec{V}(t_1) -\end{equation*} -% -zu lösen. -Aus dem vorangegangenem Beispiel, ist die Parametrisierung des Verfolgers und des Ziels bekannt. -Das Ziel wird parametrisiert durch - -\begin{equation} - \vec{Z}(t) - = - \left( \begin{array}{c} 0 \\ t \end{array} \right) -\end{equation} -% -und der Verfolger durch - +Der Folger ist durch \begin{equation} - \vec{V}(t) + v(t) = \left( \begin{array}{c} x(t) \\ y(t) \end{array} \right) \text{.} \end{equation} % - Da $y(t)$ viel komplexer ist als $x(t)$ wird das Problem in zwei einzelne Teilprobleme zerlegt. Wobei die Bedingung der $x$- und $y$-Koordinaten einzeln überprüft werden. Es entstehen daher folgende Bedingungen +parametrisiert, wobei $y(t)$ viel komplexer ist als $x(t)$. +Daher wird das Problem in zwei einzelne Teilprobleme zerlegt, wodurch die Bedingung der $x$- und $y$-Koordinaten einzeln überprüft werden müssen. Es entstehen daher folgende Bedingungen \begin{align*} 0 @@ -107,27 +108,41 @@ Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingu Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Einholen möglich wäre. Somit kann nach den Gestellten Bedingungen das Ziel nie erreicht werden. -Aus der Symmetrie des Problems an der $y$-Achse können auch alle Anfangspunkte im zweiten Quadranten die Bedingungen nicht erfüllen. -Bei allen Anfangspunkten mit $y_0<0$ ist ein Einholen unmöglich, da die Geschwindigkeit des Verfolgers und Ziels übereinstimmen und der Verfolger dem Ziel bereits am Anfang nachgeht. -Wenn die Wertemenge der Anfangsbedingung um die positive $y$-Achse erweitert wird, kann das Ziel wiederum erreicht werden. -Sobald der Verfolger auf der positiven $y$-Achse startet, bewegen sich Verfolger und Ziel aufeinander zu, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt und der Verfolger sich auf der Fluchtgeraden befindet. -Dies führt zwingend dazu, dass der Verfolger das Ziel erreichen wird. -Die Verfolgungskurve kann in diesem Fall mit + +\subsection{Anfangsbedingung $y_0<0$} +Da die Geschwindigkeit des Verfolgers und des Ziels übereinstimmen, kann der Verfolgers niemals das Ziel einholen. +Dies kann veranschaulicht werden anhand + +\begin{equation} + v(t)\cdot \left( \begin{array}{c} 0 \\ 1 \end{array}\right) + \leq + z(t)\cdot \left( \begin{array}{c} 0 \\ 1 \end{array}\right) + = + 1\text{.} +\end{equation} +% +Da der $y$-Anteil der Geschwindigkeit des Ziels grösser-gleich der des Verfolgers ist, können die $y$-Koordinaten nie übereinstimmen. + +\subsection{Anfangsbedingung auf positiven $y$-Achse} +Wenn der Verfolger auf der positiven $y$-Achse startet, befindet er sich direkt auf der Fluchtgeraden des Ziels. +Dies führt dazu, dass der Verfolger und das Ziel sich direkt aufeinander zu bewegen, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt. +Die Folge ist, dass das Ziel zwingend erreicht wird. +Um $t_1$ zu bestimmen, kann die Verfolgungskurve in diesem Fall mit \begin{equation} - \vec{V}(t) + v(t) = \left( \begin{array}{c} 0 \\ y_0-t \end{array} \right) \end{equation} % parametrisiert werden. Nun kann der Abstand zwischen Verfolger und Ziel leicht bestimmt und nach 0 aufgelöst werden. -Daraus folgt +Woraus folgt \begin{equation} 0 = - |\vec{V}(t_1)-\vec{Z}(t_1)| + |v(t_1)-z(t_1)| = y_0-2t_1 \end{equation} @@ -141,7 +156,9 @@ Daraus folgt \end{equation} % führt. -Nun ist klar, dass lediglich Anfangspunkte auf der positiven $y$-Achse oder direkt auf dem Ziel dazu führen, dass der Verfolger das Ziel bei $t_1$ einholt. +Somit wird das Ziel immer erreicht bei $t_1$, wenn der Verfolger auf der positiven $y$-Achse startet. +\subsection{Fazit} +Durch die Symmetrie der Fluchtkurve an der $y$-Achse führen die Anfangsbedingungen in den Quadranten \RN{1} und \RN{2} zu den gleichen Ergebnissen. Nun ist klar, dass lediglich Anfangspunkte auf der positiven $y$-Achse oder direkt auf dem Ziel dazu führen, dass der Verfolger das Ziel bei $t_1$ einholt. Bei allen anderen Anfangspunkten wird der Verfolger das Ziel nie erreichen. Dieses Resultat ist aber eher akademischer Natur, weil der Verfolger und das Ziel als Punkt betrachtet wurden. Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumlichen Ausdehnung gesprochen werden kann. @@ -150,14 +167,14 @@ Falls dies stattfinden sollte, wird dies als Treffer interpretiert. Mathematisch kann dies mit \begin{equation} - |\vec{V}-\vec{Z}|0 + |v-z| 0 + |v-z|^2 Date: Wed, 27 Jul 2022 22:00:28 +0200 Subject: comment out bessel.png --- buch/papers/fm/03_bessel.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/03_bessel.tex b/buch/papers/fm/03_bessel.tex index 7a0e20e..edb932b 100644 --- a/buch/papers/fm/03_bessel.tex +++ b/buch/papers/fm/03_bessel.tex @@ -117,7 +117,7 @@ Somit ist \ref{fm:eq:proof} bewiesen. Um sich das ganze noch einwenig Bildlicher vorzustellenhier einmal die Besselfunktion \(J_{k}(\beta)\) in geplottet. \begin{figure} \centering - \includegraphics[width=0.5\textwidth]{/home/joshua/Documents/SeminarSpezielleFunktionen/buch/papers/fm/FM presentation/images/bessel.png} +% \includegraphics[width=0.5\textwidth]{/home/joshua/Documents/SeminarSpezielleFunktionen/buch/papers/fm/FM presentation/images/bessel.png} \caption{Bessle Funktion \(J_{k}(\beta)\)} \label{fig:bessel} \end{figure} -- cgit v1.2.1 From 1666b63c2f4d5e8392c40ab6f6c8e9e71f20f4a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20M=C3=BCller?= Date: Thu, 28 Jul 2022 07:14:37 +0200 Subject: Resolve error in orthogonality proof --- buch/papers/laguerre/eigenschaften.tex | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/laguerre/eigenschaften.tex b/buch/papers/laguerre/eigenschaften.tex index 6ba9135..1411f7c 100644 --- a/buch/papers/laguerre/eigenschaften.tex +++ b/buch/papers/laguerre/eigenschaften.tex @@ -97,38 +97,38 @@ Ausserdem ist ersichtlich, dass $p(x)$ die Differentialgleichung \begin{align*} x \frac{dp}{dx} = --(\nu + 1 - x) p +(\nu + 1 - x) p \end{align*} erfüllen muss. Durch Separation erhalten wir dann \begin{align*} \int \frac{dp}{p} & = --\int \frac{\nu + 1 - x}{x} \, dx +\int \frac{\nu + 1 - x}{x} \, dx = --\int \frac{\nu + 1}{x} \, dx - \int 1\, dx +\int \frac{\nu + 1}{x} \, dx - \int 1\, dx \\ \log p & = --(\nu + 1)\log x - x + c +(\nu + 1)\log x - x + c \\ p(x) & = --C x^{\nu + 1} e^{-x} +C x^{\nu + 1} e^{-x} . \end{align*} Eingefügt in Gleichung~\eqref{laguerre:sl-lag} ergibt sich \begin{align*} \frac{C}{w(x)} \left( -x^{\nu+1} e^{-x} \frac{d^2}{dx^2} + +-x^{\nu+1} e^{-x} \frac{d^2}{dx^2} - (\nu + 1 - x) x^{\nu} e^{-x} \frac{d}{dx} \right) = x \frac{d^2}{dx^2} + (\nu + 1 - x) \frac{d}{dx}. \end{align*} Mittels Koeffizientenvergleich kann nun abgelesen werden, -dass $w(x) = x^\nu e^{-x}$ und $C=1$ mit $\nu > -1$. +dass $w(x) = x^\nu e^{-x}$ und $C=-1$ mit $\nu \geq 0$. Die Gewichtsfunktion $w(x)$ wächst für $x\rightarrow-\infty$ sehr schnell an, deshalb ist die Laguerre-Gewichtsfunktion nur geeignet für den Definitionsbereich $(0, \infty)$. -- cgit v1.2.1 From 8daaabab904020da2111d6bee3ce26db3b4b6df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20M=C3=BCller?= Date: Thu, 28 Jul 2022 07:30:31 +0200 Subject: Redescribe why definition range of Laguerre is (0,\infty) --- buch/papers/laguerre/eigenschaften.tex | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/laguerre/eigenschaften.tex b/buch/papers/laguerre/eigenschaften.tex index 1411f7c..b007c2d 100644 --- a/buch/papers/laguerre/eigenschaften.tex +++ b/buch/papers/laguerre/eigenschaften.tex @@ -128,10 +128,11 @@ Eingefügt in Gleichung~\eqref{laguerre:sl-lag} ergibt sich x \frac{d^2}{dx^2} + (\nu + 1 - x) \frac{d}{dx}. \end{align*} Mittels Koeffizientenvergleich kann nun abgelesen werden, -dass $w(x) = x^\nu e^{-x}$ und $C=-1$ mit $\nu \geq 0$. -Die Gewichtsfunktion $w(x)$ wächst für $x\rightarrow-\infty$ sehr schnell an, -deshalb ist die Laguerre-Gewichtsfunktion nur geeignet für den -Definitionsbereich $(0, \infty)$. +dass $w(x) = x^\nu e^{-x}$ und $C=-1$. %mit $\nu \geq 0$. +Die Gewichtsfunktion $w(x)$ wächst für $x\rightarrow-\infty$ sehr schnell an. +Ausserdem hat die Gewichtsfunktion $w(x)$ für negative $\nu$ einen Pol bei $x=0$, +daher ist die Laguerre-Gewichtsfunktion nur für den +Definitionsbereich $(0, \infty)$ geeignet. \subsubsection{Randbedingungen} Bleibt nur noch sicherzustellen, dass die Randbedingungen -- cgit v1.2.1 From b4c0297a9cf2e2bc38fcb9110f7b5c89ae0fe9fa Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Thu, 28 Jul 2022 17:49:24 +0200 Subject: Kapitel bessel unterteilt --- buch/papers/fm/03_bessel.tex | 87 ++++++++++++++++--------- buch/papers/fm/Python animation/Bessel-FM.ipynb | 26 ++++---- 2 files changed, 70 insertions(+), 43 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/03_bessel.tex b/buch/papers/fm/03_bessel.tex index edb932b..bf485b1 100644 --- a/buch/papers/fm/03_bessel.tex +++ b/buch/papers/fm/03_bessel.tex @@ -13,14 +13,18 @@ Somit haben wir unser \(x_c\) welches \cos(\omega_c t+\beta\sin(\omega_mt)) \] ist. + \subsection{Herleitung} -Das Ziel ist es Unser moduliertes Signal mit der Besselfunktion so auszudrücken: +Das Ziel ist es unser moduliertes Signal mit der Besselfunktion so auszudrücken: \begin{align} + x_c(t) + = \cos(\omega_ct+\beta\sin(\omega_mt)) &= \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t) \label{fm:eq:proof} \end{align} +\subsubsection{Hilfsmittel} Doch dazu brauchen wir die Hilfe der Additionsthoerme \begin{align} \cos(A + B) @@ -54,70 +58,89 @@ und die drei Besselfunktions indentitäten, \label{fm:eq:besselid3} \end{align} welche man im Kapitel (ref), ref, ref findet. -\newline -Mit dem \refname{fm:eq:addth1} wird aus dem modulierten Signal -\[ -\cos(\omega_c t + \beta\sin(\omega_mt)) -\] -das Signal + +\subsubsection{Anwenden des Additionstheorem} +Mit dem \eqref{fm:eq:addth1} wird aus dem modulierten Signal \[ + x_c(t) + = + \cos(\omega_c t + \beta\sin(\omega_mt)) + = \cos(\omega_c t)\cos(\beta\sin(\omega_m t))-\sin(\omega_c)\sin(\beta\sin(\omega_m t)). \label{fm:eq:start} \] -Zu beginn wird der erste Teil +\subsubsection{Cos-Teil} +Zu beginn wird der Cos-Teil \[ \cos(\omega_c)\cos(\beta\sin(\omega_mt)) \] -mit hilfe der Bessel indentität \ref{fm:eq:besselid1} zum -\[ - J_0(\beta)\cos(\omega_c) + \sum_{k=1}^\infty J_{2k}(\beta) 2\cos(\omega_c t)\cos(2k\omega_m t) -\] -\newline -TODO 2 und \(\cos( )\) in lime. -wobei mit dem \colorbox{lime}{Additionstheorem} \ref{fm:eq:addth2} zum +mit hilfe der Bessel indentität \eqref{fm:eq:besselid1} zum +\begin{align*} + \cos(\omega_c t) \cdot [\, J_0(\beta) + 2\sum_{k=1}^\infty J_{2k}(\beta) \cos(2k\omega_m t)\, ] + &=\\ + J_0(\beta)\cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) + \underbrace{2\cos(\omega_c t)\cos(2k\omega_m t)}_{Additionstheorem} +\end{align*} +wobei mit dem Additionstheorem \eqref{fm:eq:addth2} \(A = \omega_c t\) und \(B = 2k\omega_m t \) zum \[ - J_0(\beta)\dot \cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) \{ \cos((\omega_c - 2k\omega_m) t)+\cos((\omega_c + 2k\omega_m) t) \} + J_0(\beta)\cdot \cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) \{ \cos((\omega_c - 2k\omega_m) t)+\cos((\omega_c + 2k\omega_m) t) \} \] wird. Wenn dabei \(2k\) durch alle geraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert erhält man den vereinfachten Term \[ - \sum_{n\, gerade} J_{n}(\beta) \cos((\omega_c + n\omega_m) t) + \sum_{n\, \text{gerade}} J_{n}(\beta) \cos((\omega_c + n\omega_m) t), \label{fm:eq:gerade} \] -\newline -nun zum zweiten Teil des Term \ref{fm:eq:start} +dabei gehen nun die Terme von \(-\infty \to \infty\), dabei bleibt n Ganzzahlig. + +\subsubsection{Sin-Teil} +Nun zum zweiten Teil des Term \eqref{fm:eq:start}, den Sin-Teil \[ \sin(\omega_c)\sin(\beta\sin(\omega_m t)). \] -Dieser wird mit der \ref{fm:eq:besselid2} Bessel indentität zu +Dieser wird mit der \eqref{fm:eq:besselid2} Bessel indentität zu +\begin{align*} + \sin(\omega_c t) \cdot [J_0(\beta) \sin(\omega_c t) + 2\sum_{k=1}^\infty J_{2k+1}(\beta) \cos((2k+1)\omega_m t)] + &=\\ + J_0(\beta) \cdot \sin(\omega_c t) + \sum_{k=1}^\infty J_{2k+1}(\beta) \underbrace{2\sin(\omega_c t)\cos((2k+1)\omega_m t)}_{Additionstheorem}. +\end{align*} +Auch hier wird ein Additionstheorem \eqref{fm:eq:addth3} gebraucht, dabei ist \(A = \omega_c t\) und \(B = (2k+1)\omega_m t \), +somit wird daraus \[ - J_0(\beta) \dot \sin(\omega_c t) + \sum_{k=1}^\infty J_{2k+1}(\beta) 2\sin(\omega_c t)\cos((2k+1)\omega_m t). -\] -Auch hier wird ein Additionstheorem \ref{fm:eq:addth3} gebraucht um aus dem Sumanden diesen Term -\[ - J_0(\beta) \dot \sin(\omega_c) + \sum_{k=1}^\infty J_{2k+1}(\beta) \{ \underbrace{\cos((\omega_c-(2k+1)\omega_m) t)}_{Teil1} - \cos((\omega_c+(2k+1)\omega_m) t) \} -\]zu gewinnen. + J_0(\beta) \cdot \sin(\omega_c) + \sum_{k=1}^\infty J_{2k+1}(\beta) \{ \underbrace{\cos((\omega_c-(2k+1)\omega_m) t)}_{neg.Teil} - \cos((\omega_c+(2k+1)\omega_m) t) \} +\]dieser Term. Wenn dabei \(2k +1\) durch alle ungeraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert. -Zusätzlich dabei noch die letzte Bessel indentität \ref{fm:eq:besselid3} brauchen, ist bei allen ungeraden negativen \(n : J_{-n}(\beta) = -1 J_n(\beta)\). -Somit wird Teil1 zum negativen Term und die Summe vereinfacht sich zu +Zusätzlich dabei noch die letzte Bessel indentität \eqref{fm:eq:besselid3} brauchen, ist bei allen ungeraden negativen \(n : J_{-n}(\beta) = -1\cdot J_n(\beta)\). +Somit wird negTeil zum Term \(-\cos((\omega_c+(2k+1)\omega_m) t)\)und die Summe vereinfacht sich zu \[ - \sum_{n\, ungerade} -1 J_{n}(\beta) \cos((\omega_c + n\omega_m) t). + \sum_{n\, \text{ungerade}} -1 \cdot J_{n}(\beta) \cos((\omega_c + n\omega_m) t). \label{fm:eq:ungerade} \] Substituiert man nun noch \(n \text{mit} -n \) so fällt das \(-1\) weg. -Beide Teile \ref{fm:eq:gerade} Gerade und \ref{fm:eq:ungerade} Ungerade ergeben zusammen + +\subsubsection{Summe Zusammenführen} +Beide Teile \eqref{fm:eq:gerade} Gerade +\[ + \sum_{n\, \text{gerade}} J_{n}(\beta) \cos((\omega_c + n\omega_m) t) +\]und \eqref{fm:eq:ungerade} Ungerade +\[ + \sum_{n\, \text{ungerade}} J_{n}(\beta) \cos((\omega_c + n\omega_m) t) +\] +ergeben zusammen \[ \cos(\omega_ct+\beta\sin(\omega_mt)) = \sum_{k= -\infty}^\infty J_{k}(\beta) \cos((\omega_c+k\omega_m)t). \] -Somit ist \ref{fm:eq:proof} bewiesen. +Somit ist \eqref{fm:eq:proof} bewiesen. \newpage + +%---------------------------------------------------------------------------- \subsection{Bessel und Frequenzspektrum} Um sich das ganze noch einwenig Bildlicher vorzustellenhier einmal die Besselfunktion \(J_{k}(\beta)\) in geplottet. \begin{figure} \centering -% \includegraphics[width=0.5\textwidth]{/home/joshua/Documents/SeminarSpezielleFunktionen/buch/papers/fm/FM presentation/images/bessel.png} +% \input{./PyPython animation/bessel.pgf} \caption{Bessle Funktion \(J_{k}(\beta)\)} \label{fig:bessel} \end{figure} diff --git a/buch/papers/fm/Python animation/Bessel-FM.ipynb b/buch/papers/fm/Python animation/Bessel-FM.ipynb index bfbb83d..6f099a7 100644 --- a/buch/papers/fm/Python animation/Bessel-FM.ipynb +++ b/buch/papers/fm/Python animation/Bessel-FM.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 117, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -11,6 +11,9 @@ "from scipy.fft import fft, ifft, fftfreq\n", "import scipy.special as sc\n", "import scipy.fftpack\n", + "import matplotlib as mpl\n", + "# Use the pgf backend (must be set before pyplot imported)\n", + "#mpl.use('pgf')\n", "import matplotlib.pyplot as plt\n", "from matplotlib.widgets import Slider\n", "def fm(beta):\n", @@ -94,12 +97,12 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 29, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -119,18 +122,19 @@ ], "source": [ "\n", - "for n in range (-4,4):\n", - " x = np.linspace(0,11,1000)\n", + "for n in range (-2,4):\n", + " x = np.linspace(-11,11,1000)\n", " y = sc.jv(n,x)\n", - " plt.plot(x, y, '-')\n", - "plt.plot([1,1],[sc.jv(0,1),sc.jv(-1,1)],)\n", - "plt.xlim(0,10)\n", + " plt.plot(x, y, '-',label='n='+str(n))\n", + "#plt.plot([1,1],[sc.jv(0,1),sc.jv(-1,1)],)\n", + "plt.xlim(-10,10)\n", "plt.grid(True)\n", - "plt.ylabel('Bessel J_n(b)')\n", - "plt.xlabel('b')\n", + "plt.ylabel('Bessel $J_n(\\\\beta)$')\n", + "plt.xlabel(' $ \\\\beta $ ')\n", "plt.plot(x, y)\n", + "plt.legend()\n", "plt.show()\n", - "\n", + "#plt.savefig('bessel.pgf', format='pgf')\n", "print(sc.jv(0,1))" ] }, -- cgit v1.2.1 From 795f274fd1343ad7ba7f24f2988cb9d22b60f85c Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 17:57:14 +0200 Subject: =?UTF-8?q?quelle=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/kreismembran/references.bib | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/references.bib b/buch/papers/kreismembran/references.bib index f642aa8..acf8f90 100644 --- a/buch/papers/kreismembran/references.bib +++ b/buch/papers/kreismembran/references.bib @@ -4,9 +4,9 @@ % (c) 2020 Autor, Hochschule Rapperswil % -@online{kreismembran:Duden:Membrane, - title = {Duden:Membrane}, - url = {https://www.duden.de/rechtschreibung/Membrane}, +@online{kreismembran:Duden:Membran, + title = {Duden:Membran}, + url = {https://www.duden.de/rechtschreibung/Membran}, date = {2022-07-20}, year = {2022}, month = {7}, @@ -73,4 +73,12 @@ type = {phdthesis}, author = {{Prof. Dr. Horst Knörrer}}, date = {2013}, +} + +@thesis{kreismembran:membrane_vs_thin_plate, + title = {Modeling and Control of SPIDER Satellite Components}, + institution = {{faculty of the Virginia Polytechnic Institute and State University}}, + type = {Dissertation}, + author = {{Eric John Ruggiero Doctor of Philosophy In Mechanical Engineering}}, + date = {2005}, } \ No newline at end of file -- cgit v1.2.1 From 74763d677a4612d8844332f21026e5d1306333ac Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 17:57:37 +0200 Subject: einleitung und herleitung DGL erste version fertig --- buch/papers/kreismembran/teil0.tex | 89 ++++++++++++++++++++++++++++++-------- 1 file changed, 72 insertions(+), 17 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil0.tex b/buch/papers/kreismembran/teil0.tex index 6f5e907..bb8188d 100644 --- a/buch/papers/kreismembran/teil0.tex +++ b/buch/papers/kreismembran/teil0.tex @@ -4,24 +4,79 @@ % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Einleitung\label{kreismembran:section:teil0}} -\rhead{Membrane} -Eine naheliegendes Beispiel einer kreisförmigen Membrane ist eine Runde Trommel. -Der Zusammenhang zwischen rund und kreisförmig wird hier nicht erläutert, was in diesem Kapitel als Membrane verstanden wird sollte jedoch erwähnt sein. -Eine Membrane, Membran oder selten ein Schwingblatt ist laut Duden \cite{kreismembran:Duden:Membrane} ein "dünnes Blättchen aus Metall, Papier o. Ä., ...". -Um zu verstehen wie sich eine Kreisförmige Membrane oder eben eine Trommel verhaltet, wird vorerst das Verhalten eines infinitesimal kleines Stück einer Membrane untersucht. +\rhead{Membran} +Eine Membran oder selten ein Schwingblatt ist laut Duden \cite{kreismembran:Duden:Membran} ein "dünnes Blättchen aus Metall, Papier o. Ä., das durch seine Schwingungsfähigkeit geeignet ist, Schallwellen zu übertragen ...". +Ein dünnes Blättchen aus Metall zeig jedoch nicht die selben dynamischen Eigenschaften auf, wie ein gespanntes Stück Papier. +Beschreibt man das dynamische Verhalten, muss zwischen einer dünnen Platte und einer Membrane unterschieden werden \cite{kreismembran:membrane_vs_thin_plate}. +Eine dünne Platte zum Beispiel aus Metall, wirkt selbst entgegen ihrer Deformation sobald sie gekrümmt wird. +Eine Membran auf der anderen Seite besteht aus einem Material welches sich ohne Kraftaufwand verbiegen lässt wie zum Beispiel Papier. +Bevor Papier als schwingende Membran betrachtet werden kann wird jedoch noch eine Spannung $ T $ benötigt welche das Material daran hindert aus der Ruhelage gebracht zu werden. -\paragraph{Annahmen} Für die Herleitung einer Differentialgleichung mit überschaubarer Komplexität werden gebräuchliche Annahmen zur Modellierung einer Membrane \cite{kreismembran:wellengleichung_herleitung} getroffen: +Ein geläufiges Beispiel einer Kreismembran ist eine runde Trommel. +Sie besteht herkömmlicher weise aus einem Leder (Fell), welches auf einen offenen Zylinder (Zargen) aufgespannt wird. +Das Leder alleine erzeugt nach einem Aufschlag keine hörbaren Schwingungen. +Sobald das Fell jedoch über den Zargen gespannt wird, kann das Fell auf verschiedensten weisen weiter schwingen, was für den Klang der Trommel verantwortlich ist. +Wie genau diese Schwingungen untersucht werden können wird in der Folgenden Arbeit Diskutiert. + + +\paragraph{Annahmen} +Um die Wellengleichung herzuleiten \cite{kreismembran:wellengleichung_herleitung}, muss ein Modell einer Membran definiert werden. +Das untersuchte Modell einer Membrane Erfüllt folgende Eigenschaften: \begin{enumerate}[i] - \item Die Membrane ist homogen. - Dies bedeutet, dass die Membrane über die ganze Fläche die selbe Dichte $ \rho $ und Elastizität hat. - Durch die konstante Elastizität ist die ganze Membrane unter gleichmässiger Spannung $ T $. - \item Die Membrane ist perfekt flexibel. - Daraus folgt, dass die Membrane ohne Kraftaufwand verbogen werden kann. - Die Membrane ist dadurch nicht alleine schwing-fähig, hierzu muss sie gespannt werden mit der Kraft $ T $. - \item Die Membrane kann sich nur in Richtung ihrer Normalen in kleinem Ausmass Auslenken. - Auslenkungen in der ebene der Membrane sind nicht möglich. - \item Die Membrane erfährt keine Art von Dämpfung. - Neben der perfekten Flexibilität wird die Membrane auch nicht durch ihr umliegendes Medium aus gebremst. - Dadurch entsteht kein dämpfender Term abhängig von der Geschwindigkeit der Membrane in der Differenzialgleichung. + \item Die Membran ist homogen. + Dies bedeutet, dass die Membran über die ganze Fläche die selbe Dichte $ \rho $ und Elastizität hat. + Durch die konstante Elastizität ist die ganze Membran unter gleichmässiger Spannung $ T $. + \item Die Membran ist perfekt flexibel. + Daraus folgt, dass die Membran ohne Kraftaufwand verbogen werden kann. + Die Membran ist dadurch nicht allein stehend schwing-fähig, hierzu muss sie gespannt werden mit einer Kraft $ T $. + \item Die Membran kann sich nur in Richtung ihrer Normalen in kleinem Ausmass Auslenken. + Auslenkungen in der ebene der Membran sind nicht möglich. + \item Die Membran erfährt keine Art von Dämpfung. + Die Membran wird also nicht durch ihr umliegendes Medium abgebremst noch erfährt sie Wärmeverluste durch Deformation. + Die resultierende Schwingung wird daher nicht gedämpft sein. + \end{enumerate} +\subsection{Wellengleichung} Um die Wellengleichung einer Membran herzuleiten wird vorerst eine schwingende Saite betrachtet. +Es lohnt sich das Verhalten einer Saite zu beschreiben da eine Saite das selbe Verhalten wie eine Membran aufweist mit dem Unterschied einer fehlenden Dimension. +Die Verbindung zwischen Membran und Saite ist intuitiv ersichtlich, stellt man sich einen Querschnitt einer Trommel vor. +%Wie analog zur Membran kann eine Saite erst unter Spannung schwingen. + +Abbildung \ref{TODO} ist ein infinitesimales Stück einer Saite mit Länge $ dx $ skizziert. +Wie für die Membran ist die Annahme iii gültig, keine Bewegung in die Richtung $ \hat{x} $. +Um dies zu erfüllen muss der Punkt $ P_1 $ gleich stark in Richtung $ -\hat{x} $ gezogen werden wie der Punkt $ P_2 $ in Richtung $ \hat{x} $ gezogen wird. Ist $ T_1 $ die Kraft welche mit Winkel $ \alpha $ auf Punkt $ P_1 $ wirkt sowie $ T_2 $ und $ \beta$ das analoge für Punkt $ P_2 $ ist, so können die Kräfte +\begin{equation}\label{kreismembran:eq:no_translation} + T_1 \cos \alpha = T_2 \cos \beta = T +\end{equation} +gleichgesetzt werden. +Das dynamische verhalten der senkrechten Auslenkung $ u(x,t) $ muss das newtonsche Gesetz +\begin{equation*} + \sum F = m \cdot a +\end{equation*} +befolgen. Die senkrecht wirkenden Kräfte werden mit $ T_1 $ und $ T_2 $ ausgedrückt, die Masse als Funktion der Dichte $ \rho $ und die Beschleunigung in Form der zweiten Ableitung als +\begin{equation*} + T_2 \sin \beta - T_1 \sin \alpha = \rho dx \frac{\partial^2 u}{\partial t^2} . +\end{equation*} +Die Gleichung wird durch $ T $ dividiert, wobei $ T $ nach \ref{kreismembran:eq:no_translation} geschickt gewählt wird. Somit kann +\begin{equation*} + \frac{T_2 \sin \beta}{T_2 \cos \beta} - \frac{T_1 \sin \alpha}{T_1 \cos \alpha} = \frac{\rho dx}{T} \frac{\partial^2 u}{\partial t^2} +\end{equation*} +vereinfacht als +\begin{equation*} + \tan \beta - \tan \alpha = \frac{\rho dx}{T} \frac{\partial^2 u}{\partial t^2} +\end{equation*} +geschrieben werden. +Der $ \tan \alpha $ entspricht der örtlichen Ableitung von $ u(x,t) $ an der Stelle $ x_0 $ und analog der $ \tan \beta $ für die Stelle $ x_0 + dx $. +Die Gleichung wird dadurch zu +\begin{equation*} + \frac{\partial u}{\partial x} \big\vert_{x_0 + dx} - \frac{\partial u}{\partial x} \big\vert_{x_0} = \frac{\rho dx}{T} \frac{\partial^2 u}{\partial t^2}. +\end{equation*} +Durch die Division mit $ dx $ entsteht +\begin{equation*} + \frac{1}{dx} \bigg[\frac{\partial u}{\partial x} \big\vert_{x_0 + dx} - \frac{\partial u}{\partial x} \big\vert_{x_0}\bigg] = \frac{\rho}{T}\frac{\partial^2 u}{\partial t^2}. +\end{equation*} +Auf der Linken Seite der Gleichung wird die Differenz der Steigungen durch die Intervall-Länge geteilt, in anderen Worten die zweite Ableitung von $ u(x,t) $ nach $ x $ berechnet. Der Term $ \frac{\rho}{T} $ wird mit $ c^2 $ ersetzt, da der Bruch für eine gegebene Membran eine positive Konstante sein muss. Somit resultiert die, in der Literatur gebräuchliche Form +\begin{equation} + \frac{1}{c^2}\frac{\partial^2u}{\partial t^2} = \Delta u. +\end{equation} +In dieser Form ist die Gleichung auch gültig für eine Membran. Für den Fall einer Membran muss lediglich die Ableitung in zwei Dimensionen gerechnet werden. \ No newline at end of file -- cgit v1.2.1 From 7aef721d37d440a7ac22b93aa3b998b8f15dbade Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 17:58:37 +0200 Subject: kapitel -> abschnitt --- buch/papers/kreismembran/teil1.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil1.tex b/buch/papers/kreismembran/teil1.tex index 38bcfe4..39ca598 100644 --- a/buch/papers/kreismembran/teil1.tex +++ b/buch/papers/kreismembran/teil1.tex @@ -10,7 +10,7 @@ An diesem Punkt bleibt also nur noch die Lösung der partiellen Differentialgleichung. In diesem Kapitel wird sie mit Hilfe der Separationsmethode gelöst. \subsection{Aufgabestellung\label{sub:aufgabestellung}} -Wie im vorherigen Kapitel gezeigt, lautet die partielle Differentialgleichung, die die Schwingungen einer Membran beschreibt: +Wie im vorherigen Abschnitt gezeigt, lautet die partielle Differentialgleichung, die die Schwingungen einer Membran beschreibt: \begin{equation*} \frac{1}{c^2}\frac{\partial^2u}{\partial t^2} = \Delta u. \end{equation*} -- cgit v1.2.1 From 79731c7db599b675b38cdb637c1b00d323c1ccde Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 18:06:43 +0200 Subject: =?UTF-8?q?Struktur=20Anpassung=20f=C3=BCr=20Simulations-Teil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buch/papers/kreismembran/main.tex | 1 + buch/papers/kreismembran/teil3.tex | 2 +- buch/papers/kreismembran/teil4.tex | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 buch/papers/kreismembran/teil4.tex (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/main.tex b/buch/papers/kreismembran/main.tex index e19c64a..f6000a1 100644 --- a/buch/papers/kreismembran/main.tex +++ b/buch/papers/kreismembran/main.tex @@ -12,6 +12,7 @@ \input{papers/kreismembran/teil1.tex} \input{papers/kreismembran/teil2.tex} \input{papers/kreismembran/teil3.tex} +\input{papers/kreismembran/teil4.tex} \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/kreismembran/teil3.tex b/buch/papers/kreismembran/teil3.tex index 10338e7..7d5648a 100644 --- a/buch/papers/kreismembran/teil3.tex +++ b/buch/papers/kreismembran/teil3.tex @@ -76,7 +76,7 @@ Nimmt man jedoch die allgemeine Lösung mit Summationen, \end{align} kann man die Lösungsmethoden 1 und 2 vergleichen. -\subsection{Vergleich der Lösungen +\subsection{Vergleich der Analytischen Lösungen \label{kreismembran:vergleich}} Bei der Analyse der Gleichungen \eqref{eq:lösung_endliche_generelle} und \eqref{eq:lösung_unendliche_generelle} fällt sofort auf, dass die Gleichung \eqref{eq:lösung_unendliche_generelle} nicht mehr von $m$ und $n$ abhängt, sondern nur noch von $n$ \cite{nishanth_p_vibrations_2018}. Das macht Sinn, denn $n$ beschreibt die Anzahl der Knotenlinien, und in einer unendlichen Membran gibt es keine. Tatsächlich werden $a_{m0}$, $b_{m0}$ und $\kappa_{m0}$ in $a_m$, $b_m$ bzw. $\kappa_m$ umbenannt. Die beiden Termen $\cos(n\varphi)$ und $\sin(n\varphi)$ verschwinden ebenfalls, da für $n=0$ der $\cos(n\varphi)$ gleich 1 und der $\sin(n \varphi)$ gleich 0 ist. Die Funktion hängt also nicht mehr von der Besselfunktionen $n$-ter Ordnung ab, sondern nur von der $0$-ter Ordnung. diff --git a/buch/papers/kreismembran/teil4.tex b/buch/papers/kreismembran/teil4.tex new file mode 100644 index 0000000..830bce7 --- /dev/null +++ b/buch/papers/kreismembran/teil4.tex @@ -0,0 +1,8 @@ +% +% einleitung.tex -- Beispiel-File für die Einleitung +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Lösungsmethode 3: Simulation + \label{kreismembran:section:teil4}} +Needs to be written \ No newline at end of file -- cgit v1.2.1 From e2b1ed24b607291b6af86ba43c8f6f656a92b476 Mon Sep 17 00:00:00 2001 From: Joshua Baer Date: Thu, 28 Jul 2022 18:09:00 +0200 Subject: minor cosmetic changes --- buch/papers/fm/03_bessel.tex | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/03_bessel.tex b/buch/papers/fm/03_bessel.tex index bf485b1..760cdc4 100644 --- a/buch/papers/fm/03_bessel.tex +++ b/buch/papers/fm/03_bessel.tex @@ -74,16 +74,16 @@ Zu beginn wird der Cos-Teil \[ \cos(\omega_c)\cos(\beta\sin(\omega_mt)) \] -mit hilfe der Bessel indentität \eqref{fm:eq:besselid1} zum +mit hilfe der Besselindentität \eqref{fm:eq:besselid1} zum \begin{align*} - \cos(\omega_c t) \cdot [\, J_0(\beta) + 2\sum_{k=1}^\infty J_{2k}(\beta) \cos(2k\omega_m t)\, ] + \cos(\omega_c t) \cdot \bigg[\, J_0(\beta) + 2\sum_{k=1}^\infty J_{2k}(\beta) \cos( 2k \omega_m t)\, \bigg] &=\\ J_0(\beta)\cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) - \underbrace{2\cos(\omega_c t)\cos(2k\omega_m t)}_{Additionstheorem} + \underbrace{2\cos(\omega_c t)\cos(2k\omega_m t)}_{\text{Additionstheorem}} \end{align*} wobei mit dem Additionstheorem \eqref{fm:eq:addth2} \(A = \omega_c t\) und \(B = 2k\omega_m t \) zum \[ - J_0(\beta)\cdot \cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) \{ \cos((\omega_c - 2k\omega_m) t)+\cos((\omega_c + 2k\omega_m) t) \} + J_0(\beta)\cdot \cos(\omega_c t) + \sum_{k=1}^\infty J_{2k}(\beta) \{ \cos((\omega_c - 2k \omega_m) t)+\cos((\omega_c + 2k \omega_m) t) \} \] wird. Wenn dabei \(2k\) durch alle geraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert erhält man den vereinfachten Term @@ -98,20 +98,20 @@ Nun zum zweiten Teil des Term \eqref{fm:eq:start}, den Sin-Teil \[ \sin(\omega_c)\sin(\beta\sin(\omega_m t)). \] -Dieser wird mit der \eqref{fm:eq:besselid2} Bessel indentität zu +Dieser wird mit der \eqref{fm:eq:besselid2} Besselindentität zu \begin{align*} - \sin(\omega_c t) \cdot [J_0(\beta) \sin(\omega_c t) + 2\sum_{k=1}^\infty J_{2k+1}(\beta) \cos((2k+1)\omega_m t)] + \sin(\omega_c t) \cdot \bigg[ J_0(\beta) + 2 \sum_{k=1}^\infty J_{ 2k + 1}(\beta) \cos(( 2k + 1) \omega_m t) \bigg] &=\\ - J_0(\beta) \cdot \sin(\omega_c t) + \sum_{k=1}^\infty J_{2k+1}(\beta) \underbrace{2\sin(\omega_c t)\cos((2k+1)\omega_m t)}_{Additionstheorem}. + J_0(\beta) \cdot \sin(\omega_c t) + \sum_{k=1}^\infty J_{2k+1}(\beta) \underbrace{2\sin(\omega_c t)\cos((2k+1)\omega_m t)}_{\text{Additionstheorem}}. \end{align*} Auch hier wird ein Additionstheorem \eqref{fm:eq:addth3} gebraucht, dabei ist \(A = \omega_c t\) und \(B = (2k+1)\omega_m t \), somit wird daraus \[ - J_0(\beta) \cdot \sin(\omega_c) + \sum_{k=1}^\infty J_{2k+1}(\beta) \{ \underbrace{\cos((\omega_c-(2k+1)\omega_m) t)}_{neg.Teil} - \cos((\omega_c+(2k+1)\omega_m) t) \} + J_0(\beta) \cdot \sin(\omega_c) + \sum_{k=1}^\infty J_{2k+1}(\beta) \{ \underbrace{\cos((\omega_c-(2k+1)\omega_m) t)}_{\text{neg.Teil}} - \cos((\omega_c+(2k+1)\omega_m) t) \} \]dieser Term. Wenn dabei \(2k +1\) durch alle ungeraden Zahlen von \(-\infty \to \infty\) mit \(n\) substituiert. -Zusätzlich dabei noch die letzte Bessel indentität \eqref{fm:eq:besselid3} brauchen, ist bei allen ungeraden negativen \(n : J_{-n}(\beta) = -1\cdot J_n(\beta)\). -Somit wird negTeil zum Term \(-\cos((\omega_c+(2k+1)\omega_m) t)\)und die Summe vereinfacht sich zu +Zusätzlich dabei noch die letzte Besselindentität \eqref{fm:eq:besselid3} brauchen, ist bei allen ungeraden negativen \(n : J_{-n}(\beta) = -1\cdot J_n(\beta)\). +Somit wird neg.Teil zum Term \(-\cos((\omega_c+(2k+1)\omega_m) t)\) und die Summe vereinfacht sich zu \[ \sum_{n\, \text{ungerade}} -1 \cdot J_{n}(\beta) \cos((\omega_c + n\omega_m) t). \label{fm:eq:ungerade} -- cgit v1.2.1 From c01fed1273bc5994b49a5e554e8bc60294fb9519 Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 18:53:33 +0200 Subject: Anfang von numerik --- buch/papers/kreismembran/teil4.tex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil4.tex b/buch/papers/kreismembran/teil4.tex index 830bce7..58fffc9 100644 --- a/buch/papers/kreismembran/teil4.tex +++ b/buch/papers/kreismembran/teil4.tex @@ -5,4 +5,10 @@ % \section{Lösungsmethode 3: Simulation \label{kreismembran:section:teil4}} -Needs to be written \ No newline at end of file +\paragraph{TODO Einleitung} + +Um numerisch das Verhalten einer Membran zu ermitteln, muss eine numerische Darstellung definiert werden. +Die Membran wird hier in Form der Matrix $ A $ digitalisiert. +Jedes Element $ A_{ij} $ steh für die Auslenkung der Membran $ u(x,y,t) $ an der Stelle $ {x,y}={i,j} $. +Die Auslenkung ist jedoch auch von der Zeit abhängig für dies wird ein Array $ X[] $ aus $ v \times A $ Matrizen erstellt. +s -- cgit v1.2.1 From 26301cab48f22b33ca56918c2787e5c67eb315a1 Mon Sep 17 00:00:00 2001 From: tim30b Date: Thu, 28 Jul 2022 20:53:12 +0200 Subject: numerik continues --- buch/papers/kreismembran/teil4.tex | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/kreismembran/teil4.tex b/buch/papers/kreismembran/teil4.tex index 58fffc9..c124354 100644 --- a/buch/papers/kreismembran/teil4.tex +++ b/buch/papers/kreismembran/teil4.tex @@ -9,6 +9,8 @@ Um numerisch das Verhalten einer Membran zu ermitteln, muss eine numerische Darstellung definiert werden. Die Membran wird hier in Form der Matrix $ A $ digitalisiert. -Jedes Element $ A_{ij} $ steh für die Auslenkung der Membran $ u(x,y,t) $ an der Stelle $ {x,y}={i,j} $. -Die Auslenkung ist jedoch auch von der Zeit abhängig für dies wird ein Array $ X[] $ aus $ v \times A $ Matrizen erstellt. -s +Jedes Element $ A_{ij} $ steh für die Auslenkung der Membran $ u(x,y,t) $ an der Stelle $ \{x,y\}=\{i,j\} $. +Die zeitliche Dimension wird in Form des Array $ X[] $ aus $ v \times A $ Matrizen dargestellt. +Das Element auf Zeile $ i $, Spalte $ j $ der $ w $-ten Matrix von $ X[] $ also $ X[w]_{ij} $ entspricht der Auslenkung $ u(i,j,w) $. + +\paragraph{title} \ No newline at end of file -- cgit v1.2.1 From 54b20e3e34ccb7c11d2f78cbbdd0bbf951bb9cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 28 Jul 2022 21:01:15 +0200 Subject: typo korrigiert --- buch/papers/fm/Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/fm/Makefile.inc b/buch/papers/fm/Makefile.inc index b686b98..40f23b1 100644 --- a/buch/papers/fm/Makefile.inc +++ b/buch/papers/fm/Makefile.inc @@ -6,7 +6,7 @@ dependencies-fm = \ papers/fm/packages.tex \ papers/fm/main.tex \ - papers/fm/01_modulation.tex \ + papers/fm/00_modulation.tex \ papers/fm/01_AM.tex \ papers/fm/02_FM.tex \ papers/fm/03_bessel.tex \ -- cgit v1.2.1 From 81b33c456132ec906ca12f48c78cca83fe1c6437 Mon Sep 17 00:00:00 2001 From: Alain Date: Fri, 29 Jul 2022 16:44:28 +0200 Subject: mehr sachen --- buch/papers/parzyl/teil0.tex | 2 +- buch/papers/parzyl/teil1.tex | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'buch/papers') diff --git a/buch/papers/parzyl/teil0.tex b/buch/papers/parzyl/teil0.tex index f6e63d4..650428f 100644 --- a/buch/papers/parzyl/teil0.tex +++ b/buch/papers/parzyl/teil0.tex @@ -113,7 +113,7 @@ geschrieben, resultiert \left(\sigma^2 + \tau^2\right)\left(d\tau\right)^2 + \left(d \tilde{z}\right)^2. \end{equation} -Daraus resultieren die Skalierungsfaktoren +Daraus ergeben sich die Skalierungsfaktoren \begin{align} h_{\sigma} &= \sqrt{\sigma^2 + \tau^2}\\ h_{\sigma} &= \sqrt{\sigma^2 + \tau^2}\\ diff --git a/buch/papers/parzyl/teil1.tex b/buch/papers/parzyl/teil1.tex index b7e906c..1ae7bfd 100644 --- a/buch/papers/parzyl/teil1.tex +++ b/buch/papers/parzyl/teil1.tex @@ -6,4 +6,21 @@ \section{Lösung \label{parzyl:section:teil1}} \rhead{Problemstellung} +Die Differentialgleichung aus \dots kann mit einer Substitution +in die Whittaker Gleichung gelöst werden. +\begin{definition} + Die Funktion + \begin{equation*} + W_{k,m}(z) = + e^{-z/2} z^{m+1/2} \, + {}_{1} F_{1}(\frac{1}{2} + m - k, 1 + 2m; z) + \end{equation*} + heisst Whittaker Funktion und ist eine Lösung + von + \begin{equation} + \frac{d^2W}{d z^2} + + \left(-\frac{1}{4} + \frac{k}{z} + \frac{\frac{1}{4} - m^2}{z^2} \right) W = 0. + \end{equation} +\end{definition} + -- cgit v1.2.1 From 05ec2574b277820e0e07dc56392add19ecbc6565 Mon Sep 17 00:00:00 2001 From: Kuster Yanik Date: Fri, 29 Jul 2022 17:41:50 +0200 Subject: polished teil0 und teil1, created a new figure Strategie.pdf --- buch/papers/lambertw/Bilder/Strategie.pdf | Bin 0 -> 120904 bytes buch/papers/lambertw/Bilder/Strategie.py | 52 ++ buch/papers/lambertw/Bilder/Strategie.svg | 790 ++++++++++++++++++++++++++++++ buch/papers/lambertw/main.tex | 6 +- buch/papers/lambertw/teil0.tex | 15 +- buch/papers/lambertw/teil1.tex | 94 ++-- 6 files changed, 914 insertions(+), 43 deletions(-) create mode 100644 buch/papers/lambertw/Bilder/Strategie.pdf create mode 100644 buch/papers/lambertw/Bilder/Strategie.py create mode 100644 buch/papers/lambertw/Bilder/Strategie.svg (limited to 'buch/papers') diff --git a/buch/papers/lambertw/Bilder/Strategie.pdf b/buch/papers/lambertw/Bilder/Strategie.pdf new file mode 100644 index 0000000..0de3001 Binary files /dev/null and b/buch/papers/lambertw/Bilder/Strategie.pdf differ diff --git a/buch/papers/lambertw/Bilder/Strategie.py b/buch/papers/lambertw/Bilder/Strategie.py new file mode 100644 index 0000000..b9b41bf --- /dev/null +++ b/buch/papers/lambertw/Bilder/Strategie.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +""" +Created on Fri Jul 29 09:40:11 2022 + +@author: yanik +""" +import pylatex + +import numpy as np +import matplotlib.pyplot as plt + +N = np.array([0, 0]) +V = np.array([1, 4]) +Z = np.array([5, 5]) +VZ = Z-V +vzScale = 0.4 + + +a = [N, N, V] +b = [V, Z, vzScale*VZ] + +X = np.array([i[0] for i in a]) +Y = np.array([i[1] for i in a]) +U = np.array([i[0] for i in b]) +W = np.array([i[1] for i in b]) + +xlim = 6 +ylim = 6 +fig, ax = plt.subplots(1,1) +ax.set_xlim([0, xlim]) #<-- set the x axis limits +ax.set_ylim([0, ylim]) #<-- set the y axis limits +#plt.figure(figsize=(xlim, ylim)) +ax.quiver(X, Y, U, W, angles='xy', scale_units='xy', scale=1, headwidth=5, headlength=7, headaxislength=5.5) + +ax.plot([V[0], (VZ+V)[0]], [V[1], (VZ+V)[1]], 'k--') +ax.plot(np.vstack([V, Z])[:, 0], np.vstack([V, Z])[:,1], 'bo', markersize=10) + + +ax.text(2.5, 4.5, "Visierlinie", size=20, rotation=10) + +plt.rcParams.update({ + "text.usetex": True, + "font.family": "serif", + "font.serif": ["New Century Schoolbook"], +}) + +ax.text(1.6, 4.3, r"$\vec{v}$", size=30) +ax.text(0.6, 3.9, r"$V$", size=30, c='b') +ax.text(5.1, 4.77, r"$Z$", size=30, c='b') + + + diff --git a/buch/papers/lambertw/Bilder/Strategie.svg b/buch/papers/lambertw/Bilder/Strategie.svg new file mode 100644 index 0000000..30f9f22 --- /dev/null +++ b/buch/papers/lambertw/Bilder/Strategie.svg @@ -0,0 +1,790 @@ + + + + + + + + + 2022-07-29T16:52:06.315252 + image/svg+xml + + + Matplotlib v3.3.2, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buch/papers/lambertw/main.tex b/buch/papers/lambertw/main.tex index 9e6d04f..394963f 100644 --- a/buch/papers/lambertw/main.tex +++ b/buch/papers/lambertw/main.tex @@ -7,7 +7,7 @@ \lhead{Verfolgungskurven} \begin{refsection} \chapterauthor{David Hugentobler und Yanik Kuster} - +% %Ein paar Hinweise für die korrekte Formatierung des Textes %\begin{itemize} %\item @@ -26,12 +26,12 @@ %Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren %Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern. %\end{itemize} - +% \input{papers/lambertw/teil0.tex} %\input{papers/lambertw/teil2.tex} %\input{papers/lambertw/teil3.tex} \input{papers/lambertw/teil4.tex} \input{papers/lambertw/teil1.tex} - +% \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/lambertw/teil0.tex b/buch/papers/lambertw/teil0.tex index 5007867..8fa8f9b 100644 --- a/buch/papers/lambertw/teil0.tex +++ b/buch/papers/lambertw/teil0.tex @@ -6,15 +6,14 @@ \section{Was sind Verfolgungskurven? \label{lambertw:section:Was_sind_Verfolgungskurven}} \rhead{Was sind Verfolgungskurven?} - +% Verfolgungskurven tauchen oft auf bei Fragen wie "Welchen Pfad begeht ein Hund während er einer Katze nachrennt?". Ein solches Problem hat im Kern immer ein Verfolger und sein Ziel. Der Verfolger verfolgt sein Ziel, das versucht zu entkommen. Der Pfad, den der Verfolger während der Verfolgung begeht, wird Verfolgungskurve genannt. Um diese Kurve zu bestimmen, kann das Verfolgungsproblem als Differentialgleichung formuliert werden. Diese Differentialgleichung entspringt der Verfolgungsstrategie des Verfolgers. - - +% \subsection{Verfolger und Verfolgungsstrategie \label{lambertw:subsection:Verfolger}} Wie bereits erwähnt, wird der Verfolger durch seine Verfolgungsstrategie definiert. @@ -48,7 +47,7 @@ Daraus folgt, dass eine Strategie zwei dieser drei Parameter festlegen muss, um % \begin{figure} \centering - \includegraphics[scale=0.1]{./papers/lambertw/Bilder/pursuerDGL2.png} + \includegraphics[scale=0.6]{./papers/lambertw/Bilder/Strategie.pdf} \caption{Vektordarstellung Jagdstrategie} \label{lambertw:grafic:pursuerDGL2} \end{figure} @@ -61,23 +60,27 @@ In der Abbildung \ref{lambertw:grafic:pursuerDGL2} ist das Problem dargestellt, wobei $v$ der Ortsvektor des Verfolgers, $z$ der Ortsvektor des Ziels und $\dot{v}$ der Geschwindigkeitsvektor des Verfolgers ist. Der Geschwindigkeitsvektor entspricht dem Richtungsvektors des Verfolgers. Die konstante Geschwindigkeit kann man mit der Gleichung +% \begin{equation} |\dot{v}| = \operatorname{const} = A \text{,}\quad A\in\mathbb{R}^+ \end{equation} +% darstellen. Der Geschwindigkeitsvektor kann mit der Gleichung +% \begin{equation} \frac{z-v}{|z-v|}\cdot|\dot{v}| = \dot{v} \end{equation} +% beschrieben werden, wenn die Jagdstrategie verwendet wird. Die Differenz der Ortsvektoren $v$ und $z$ ist ein Vektor der vom Punkt $V$ auf $Z$ zeigt. Da die Länge dieses Vektors beliebig sein kann, wird durch Division durch den Betrag, ein Einheitsvektor erzeugt. Aus dem Verfolgungsproblem ist auch ersichtlich, dass die Punkte $V$ und $Z$ nicht am gleichen Ort starten und so eine Division durch Null ausgeschlossen ist. Wenn die Punkte $V$ und $Z$ trotzdem am gleichen Ort starten, ist die Lösung trivial. - +% Nun wird die Gleichung mit $\dot{v}$ skalar multipliziert, um das Gleichungssystem von zwei auf eine Gleichung zu reduzieren. Somit ergeben sich \begin{align} \frac{z-v}{|z-v|}\cdot|\dot{v}|\cdot\dot{v} @@ -97,7 +100,7 @@ Als nächstes gehen wir auf das Ziel ein. Wie der Verfolger wird auch unser Ziel sich strikt an eine Fluchtstrategie halten, welche von Anfang an bekannt ist. Diese Strategie kann als Parameterdarstellung der Position nach der Zeit beschrieben werden. Zum Beispiel könnte ein Ziel auf einer Geraden flüchten, welches auf einer Ebene mit der Parametrisierung - +% \begin{equation} z(t) = diff --git a/buch/papers/lambertw/teil1.tex b/buch/papers/lambertw/teil1.tex index a330838..2733759 100644 --- a/buch/papers/lambertw/teil1.tex +++ b/buch/papers/lambertw/teil1.tex @@ -6,7 +6,7 @@ \section{Wird das Ziel erreicht? \label{lambertw:section:Wird_das_Ziel_erreicht}} \rhead{Wird das Ziel erreicht?} - +% Sehr oft kommt es vor, dass bei Verfolgungsproblemen die Frage auftaucht, ob das Ziel überhaupt erreicht wird. Wenn zum Beispiel die Geschwindigkeit des Verfolgers kleiner ist als diejenige des Ziels, gibt es Anfangsbedingungen bei denen das Ziel nie erreicht wird. Im Anschluss dieser Frage stellt sich meist die nächste Frage, wie lange es dauert bis das Ziel erreicht wird. @@ -16,7 +16,7 @@ Das Beispiel wird bei dieser Betrachtung noch etwas erweitert indem alle Punkte Nun gilt es zu definieren, wann das Ziel erreicht wird. Da sowohl Ziel und Verfolger als Punkte modelliert wurden, gilt das Ziel als erreicht, wenn die Koordinaten des Verfolgers mit denen des Ziels bei einem diskreten Zeitpunkt $t_1$ übereinstimmen. Somit gilt es - +% \begin{equation*} z(t_1)=v(t_1) \end{equation*} @@ -30,15 +30,14 @@ Die Parametrisierung von $z(t)$ ist im Beispiel definiert als \end{equation} % Die Parametrisierung von $v(t)$ ist von den Startbedingungen abhängig. Deshalb wird die obige Bedingung jeweils für die unterschiedlichen Startbedingungen separat analysiert. - +% \subsection{Anfangsbedingung im \RN{1}-Quadranten} % -$ x_0$ $\boldsymbol{x}$ dd Wenn der Verfolger im \RN{1}-Quadranten startet, dann kann $v(t)$ mit den Gleichungen aus \eqref{lambertw:eqFunkXNachT}, welche \begin{align*} x\left(t\right) &= - x_0\cdot\sqrt{\frac{1}{\chi}W\left(\chi\cdot \exp(\chi-\frac{4t}{r_0-y_0})\right)} \\ + x_0\cdot\sqrt{\frac{1}{\chi}W\left(\chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right) \right)} \\ y(t) &= \frac{1}{4}\left(\left(y_0+r_0\right)\left(\frac{x(t)}{x_0}\right)^2+\left(r_0-y_0\right)\operatorname{ln}\left(\left(\frac{x(t)}{x_0}\right)^2\right)-r_0+3y_0\right)\\ @@ -63,13 +62,13 @@ Der Folger ist durch % parametrisiert, wobei $y(t)$ viel komplexer ist als $x(t)$. Daher wird das Problem in zwei einzelne Teilprobleme zerlegt, wodurch die Bedingung der $x$- und $y$-Koordinaten einzeln überprüft werden müssen. Es entstehen daher folgende Bedingungen - +% \begin{align*} 0 &= x(t) = - x_0\sqrt{\frac{W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right)}{\chi}} + x_0\sqrt{\frac{1}{\chi}W\left(\chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right)\right)} \\ t &= @@ -80,39 +79,66 @@ Daher wird das Problem in zwei einzelne Teilprobleme zerlegt, wodurch die Beding % welche Beide gleichzeitig erfüllt sein müssen, damit das Ziel erreicht wurde. Zuerst wird die Bedingung der $x$-Koordinate betrachtet. -Diese kann durch dividieren durch $x_0$, anschliessendes quadrieren und multiplizieren von $\chi$ vereinfacht werden. Daraus folgt +Da $x_0 \neq 0$ und $\chi \neq 0$ mit \begin{equation} - 0 - = - W\left(\chi\cdot e^{\chi-\frac{4t}{r_0-y_0}}\right) - \text{.} + 0 + = + x_0\sqrt{\frac{1}{\chi}W\left(\chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right)\right)} \end{equation} -% -Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. -Diese Gleichung entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei - -\begin{equation*} - W(0)=0 -\end{equation*} -% -besitzt, kann die Bedingung weiter vereinfacht werden zu - +ist diese Bedingung genau dann erfüllt, wenn \begin{equation} 0 = - \chi\cdot e^{\chi-\frac{4t}{r_0-y_0}} + W\left(\chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right)\right) \text{.} \end{equation} % +Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. +Diese Gleichung entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei +\begin{equation} + W(0)=0 +\end{equation} +% Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingung unmöglich zu erfüllen. Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Einholen möglich wäre. -Somit kann nach den Gestellten Bedingungen das Ziel nie erreicht werden. - +Somit kann nach den gestellten Bedingungen das Ziel nie erreicht werden. +% +% +% +%Diese kann durch dividieren durch $x_0$, anschliessendes quadrieren und multiplizieren von $\chi$ vereinfacht werden. Daraus folgt +%\begin{equation} +% 0 +% = +% W\left(\chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right)\right) +% \text{.} +%5\end{equation} +% +%Es ist zu beachten, dass $W(x)$ die Lambert W-Funktion ist, welche im Kapitel \eqref{buch:section:lambertw} behandelt wurde. +%Diese Gleichung entspricht genau den Nullstellen der Lambert W-Funktion. Da die Lambert W-Funktion genau eine Nullstelle bei +% +%\begin{equation*} +% W(0)=0 +%\end{equation*} +% +%besitzt, kann die Bedingung weiter vereinfacht werden zu +% +%\begin{equation} +% 0 +% = +% \chi\cdot \exp\left( \chi-\frac{4t}{r_0-y_0}\right) +% \text{.} +%\end{equation} +% +%Da $\chi\neq0$ und die Exponentialfunktion nie null sein kann, ist diese Bedingung unmöglich zu erfüllen. +%Beim Grenzwert für $t\rightarrow\infty$ geht die Exponentialfunktion gegen null. +%Dies nützt nicht viel, da unendlich viel Zeit vergehen müsste damit ein Einholen möglich wäre. +%Somit kann nach den gestellten Bedingungen das Ziel nie erreicht werden. +% \subsection{Anfangsbedingung $y_0<0$} Da die Geschwindigkeit des Verfolgers und des Ziels übereinstimmen, kann der Verfolgers niemals das Ziel einholen. Dies kann veranschaulicht werden anhand - +% \begin{equation} v(t)\cdot \left( \begin{array}{c} 0 \\ 1 \end{array}\right) \leq @@ -122,13 +148,13 @@ Dies kann veranschaulicht werden anhand \end{equation} % Da der $y$-Anteil der Geschwindigkeit des Ziels grösser-gleich der des Verfolgers ist, können die $y$-Koordinaten nie übereinstimmen. - +% \subsection{Anfangsbedingung auf positiven $y$-Achse} Wenn der Verfolger auf der positiven $y$-Achse startet, befindet er sich direkt auf der Fluchtgeraden des Ziels. Dies führt dazu, dass der Verfolger und das Ziel sich direkt aufeinander zu bewegen, da der Geschwindigkeitsvektor des Verfolgers auf das Ziel zeigt. Die Folge ist, dass das Ziel zwingend erreicht wird. Um $t_1$ zu bestimmen, kann die Verfolgungskurve in diesem Fall mit - +% \begin{equation} v(t) = @@ -138,17 +164,17 @@ Um $t_1$ zu bestimmen, kann die Verfolgungskurve in diesem Fall mit parametrisiert werden. Nun kann der Abstand zwischen Verfolger und Ziel leicht bestimmt und nach 0 aufgelöst werden. Woraus folgt - +% \begin{equation} 0 = |v(t_1)-z(t_1)| = - y_0-2t_1 + y_0-2t_1\text{,} \end{equation} % -, was aufgelöst zu - +was aufgelöst zu +% \begin{equation} t_1 = @@ -165,14 +191,14 @@ Wobei aber in Realität nicht von Punkten sondern von Objekten mit einer räumli Somit wird in einer nächsten Betrachtung untersucht, ob der Verfolger dem Ziel näher kommt als ein definierter Trefferradius. Falls dies stattfinden sollte, wird dies als Treffer interpretiert. Mathematisch kann dies mit - +% \begin{equation} |v-z| Date: Fri, 29 Jul 2022 18:20:55 +0200 Subject: verbesserungen --- buch/papers/parzyl/main.tex | 5 +- buch/papers/parzyl/teil0.tex | 110 +++++++++++++++++++++++++------------------ buch/papers/parzyl/teil1.tex | 4 +- buch/papers/parzyl/teil2.tex | 2 +- 4 files changed, 68 insertions(+), 53 deletions(-) (limited to 'buch/papers') diff --git a/buch/papers/parzyl/main.tex b/buch/papers/parzyl/main.tex index 0996007..528a2e2 100644 --- a/buch/papers/parzyl/main.tex +++ b/buch/papers/parzyl/main.tex @@ -8,10 +8,7 @@ \begin{refsection} \chapterauthor{Thierry Schwaller, Alain Keller} -Die Laplace-Gleichung ist eine wichtige Gleichung in der Physik. -Mit ihr lässt sich zum Beispiel das elektrische Feld in einem ladungsfreien Raum bestimmen. -In diesem Kapitel wird die Lösung der Laplace-Gliechung im -parabolischen Zyplinderkoordinatensystem genauer untersucht. + \input{papers/parzyl/teil0.tex} \input{papers/parzyl/teil1.tex} diff --git a/buch/papers/parzyl/teil0.tex b/buch/papers/parzyl/teil0.tex index a77398d..4b251db 100644 --- a/buch/papers/parzyl/teil0.tex +++ b/buch/papers/parzyl/teil0.tex @@ -3,21 +3,24 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Problem\label{parzyl:section:teil0}} +\section{Einleitung\label{parzyl:section:teil0}} \rhead{Teil 0} - +Die Laplace-Gleichung ist eine wichtige Gleichung in der Physik. +Mit ihr lässt sich zum Beispiel das elektrische Feld in einem ladungsfreien Raum bestimmen. +In diesem Kapitel wird die Lösung der Laplace-Gleichung im +parabolischen Zylinderkoordinatensystem genauer untersucht. \subsection{Laplace Gleichung} Die partielle Differentialgleichung \begin{equation} \Delta f = 0 \end{equation} -ist als Laplace Gleichung bekannt. -Sie ist eine spezielle Form der poisson Gleichung +ist als Laplace-Gleichung bekannt. +Sie ist eine spezielle Form der Poisson-Gleichung \begin{equation} \Delta f = g \end{equation} mit g als beliebige Funktion. -In der Physik hat die Laplace Gleichung in verschieden Gebieten +In der Physik hat die Laplace-Gleichung in verschieden Gebieten verwendet, zum Beispiel im Elektromagnetismus. Das Gaussche Gesetz in den Maxwellgleichungen \begin{equation} @@ -35,11 +38,11 @@ Eingesetzt in \eqref{parzyl:eq:max1} resultiert \begin{equation} \nabla \cdot \nabla \phi = \Delta \phi = \frac{\varrho}{\epsilon_0}, \end{equation} -was eine Possion gleichung ist. +was eine Possion-Gleichung ist. An Ladungsfreien Stellen, ist der rechte Teil der Gleichung $0$. \subsection{Parabolische Zylinderkoordinaten \label{parzyl:subsection:finibus}} -Im parabloischen Zylinderkoordinatensystem bilden parabolische Zylinder die Koordinatenflächen. +Im parabolischen Zylinderkoordinatensystem bilden parabolische Zylinder die Koordinatenflächen. Die Koordinate $(\sigma, \tau, z)$ sind in kartesischen Koordinaten ausgedrückt mit \begin{align} x & = \sigma \tau \\ @@ -48,7 +51,7 @@ Die Koordinate $(\sigma, \tau, z)$ sind in kartesischen Koordinaten ausgedrückt z & = z. \label{parzyl:coordRelationse} \end{align} -Wird $\tau$ oder $\sigma$ konstant gesetzt reultieren die Parabeln +Wird $\tau$ oder $\sigma$ konstant gesetzt resultieren die Parabeln \begin{equation} y = \frac{1}{2} \left( \frac{x^2}{\sigma^2} - \sigma^2 \right) \end{equation} @@ -68,10 +71,12 @@ und Abbildung \ref{parzyl:fig:cordinates} zeigt das Parabolische Koordinatensystem. Das parabolische Zylinderkoordinatensystem entsteht wenn die Parabeln aus der Ebene gezogen werden. + Um in diesem Koordinatensystem integrieren und differenzieren zu können braucht es die Skalierungsfaktoren $h_{\tau}$, $h_{\sigma}$ und $h_{z}$. -Der Skalierungsfaktor braucht es, damit die Distanzen zwischen zwei -Punkten unabhängig vom Koordinatensystem sind. + +\dots + Wird eine infinitessimal kleine Distanz $ds$ zwischen zwei Punkten betrachtet kann dies im kartesischen Koordinatensystem mit \begin{equation} @@ -90,21 +95,21 @@ gilt. Dafür werden $dx$, $dy$, und $dz$ in \eqref{parzyl:eq:ds} mit den Beziehungen von \eqref{parzyl:coordRelationsa} - \eqref{parzyl:coordRelationse} als \begin{align} - dx &= \frac{\delta x }{\delta \sigma} d\sigma + - \frac{\delta x }{\delta \tau} d\tau + - \frac{\delta x }{\delta \tilde{z}} d \tilde{z} + dx &= \frac{\partial x }{\partial \sigma} d\sigma + + \frac{\partial x }{\partial \tau} d\tau + + \frac{\partial x }{\partial \tilde{z}} d \tilde{z} = \tau d\sigma + \sigma d \tau \\ - dy &= \frac{\delta y }{\delta \sigma} d\sigma + - \frac{\delta y }{\delta \tau} d\tau + - \frac{\delta y }{\delta \tilde{z}} d \tilde{z} + dy &= \frac{\partial y }{\partial \sigma} d\sigma + + \frac{\partial y }{\partial \tau} d\tau + + \frac{\partial y }{\partial \tilde{z}} d \tilde{z} = \tau d\tau - \sigma d \sigma \\ - dz &= \frac{\delta \tilde{z} }{\delta \sigma} d\sigma + - \frac{\delta \tilde{z} }{\delta \tau} d\tau + - \frac{\delta \tilde{z} }{\delta \tilde{z}} d \tilde{z} + dz &= \frac{\partial \tilde{z} }{\partial \sigma} d\sigma + + \frac{\partial \tilde{z} }{\partial \tau} d\tau + + \frac{\partial \tilde{z} }{\partial \tilde{z}} d \tilde{z} = d \tilde{z} \\ \end{align} substituiert. -Wird diese gleichung in der Form von \eqref{parzyl:eq:dspara} +Wird diese Gleichung in der Form von \eqref{parzyl:eq:dspara} geschrieben, resultiert \begin{equation} \left(d s\right)^2 = @@ -120,11 +125,22 @@ Daraus ergeben sich die Skalierungsfaktoren \end{align} \subsection{Differentialgleichung} Möchte man eine Differentialgleichung im parabolischen -Zylinderkoordinatensystem lösen müssen die Skalierungsfaktoren -mitgerechnet werden. -\dots -\subsection{Lösung der Helmholtz Gleichung im parabolischen Zylinderfunktion} -Die Differentialgleichungen, welche zu den parabolischen Zylinderfunktionen führen tauchen, wie bereits erwähnt, dann auf, wenn die Helmholtz Gleichung +Zylinderkoordinatensystem aufstellen müssen die Skalierungsfaktoren +mitgerechnet werden. +Der Laplace Operator ist dadurch gegeben als +\begin{equation} + \Delta f = \frac{1}{\sigma^2 + \tau^2} + \left( + \frac{\partial^2 f}{\partial \sigma ^2} + + \frac{\partial^2 f}{\partial \tau ^2} + \right) + + \frac{\partial^2 f}{\partial z}. + \label{parzyl:eq:laplaceInParZylCor} +\end{equation} +\subsubsection{Lösung der Helmholtz-Gleichung im parabolischen Zylinderfunktion} +Die Differentialgleichungen, welche zu den parabolischen Zylinderfunktionen führen, tauchen +%, wie bereits erwähnt, +dann auf, wenn die Helmholtz-Gleichung \begin{equation} \Delta f(x,y,z) = \lambda f(x,y,z) \end{equation} @@ -133,22 +149,22 @@ im parabolischen Zylinderkoordinatensystem \Delta f(\sigma,\tau,z) = \lambda f(\sigma,\tau,z) \end{equation} gelöst wird. -Wobei der Laplace Operator $\Delta$ im parabolischen Zylinderkoordinatensystem gegeben ist als -\begin{equation} - \nabla - = - \frac{1}{\sigma^2 + \tau^2} - \left ( - \frac{\partial^2}{\partial \sigma^2} - + - \frac{\partial^2}{\partial \tau^2} - \right ) - + - \frac{\partial^2}{\partial z^2}. -\end{equation} -Die Helmholtz Gleichung würde also wie folgt lauten -\begin{equation} - \nabla f(\sigma, \tau, z) +%Wobei der Laplace Operator $\Delta$ im parabolischen Zylinderkoordinatensystem gegeben ist als +%\begin{equation} +% \Delta +% = +% \frac{1}{\sigma^2 + \tau^2} +% \left ( +% \frac{\partial^2}{\partial \sigma^2} +% + +% \frac{\partial^2}{\partial \tau^2} +% \right ) +% + +% \frac{\partial^2}{\partial z^2}. +%\end{equation} +Mit dem Laplace Operator aus \eqref{parzyl:eq:laplaceInParZylCor} lautet die Helmholtz Gleichung +\begin{equation} + \Delta f(\sigma, \tau, z) = \frac{1}{\sigma^2 + \tau^2} \left ( @@ -159,7 +175,7 @@ Die Helmholtz Gleichung würde also wie folgt lauten + \frac{\partial^2 f(\sigma,\tau,z)}{\partial z^2} = - \lambda f(\sigma,\tau,z) + \lambda f(\sigma,\tau,z). \end{equation} Diese partielle Differentialgleichung kann mit Hilfe von Separation gelöst werden, dazu wird \begin{equation} @@ -167,7 +183,7 @@ Diese partielle Differentialgleichung kann mit Hilfe von Separation gelöst werd \end{equation} gesetzt. Was dann schlussendlich zu den Differentialgleichungen -\begin{equation}\label{parzyl_sep_dgl_1} +\begin{equation}\label{parzyl:sep_dgl_1} g''(\sigma) - \left ( @@ -179,7 +195,7 @@ Was dann schlussendlich zu den Differentialgleichungen = 0, \end{equation} -\begin{equation}\label{parzyl_sep_dgl_2} +\begin{equation}\label{parzyl:sep_dgl_2} h''(\tau) - \left ( @@ -192,7 +208,7 @@ Was dann schlussendlich zu den Differentialgleichungen 0 \end{equation} und -\begin{equation}\label{parzyl_sep_dgl_3} +\begin{equation}\label{parzyl:sep_dgl_3} i''(z) + \left ( @@ -205,7 +221,7 @@ und 0 \end{equation} führt. -Wobei die Lösung von \ref{parzyl_sep_dgl_3} +Wobei die Lösung von \eqref{parzyl:sep_dgl_3} \begin{equation} i(z) = @@ -219,7 +235,7 @@ Wobei die Lösung von \ref{parzyl_sep_dgl_3} \sqrt{\lambda + \mu}z \right )} \end{equation} -ist und \ref{parzyl_sep_dgl_1} und \ref{parzyl_sep_dgl_2} die sogenannten Weberschen Differentialgleichungen sind, welche die parabolischen Zylinder Funktionen als Lösung haben. +ist und \eqref{parzyl:sep_dgl_1} und \eqref{parzyl:sep_dgl_2} die sogenannten Weberschen Differentialgleichungen sind, welche die parabolischen Zylinder Funktionen als Lösung haben. diff --git a/buch/papers/parzyl/teil1.tex b/buch/papers/parzyl/teil1.tex index 1ae7bfd..f297189 100644 --- a/buch/papers/parzyl/teil1.tex +++ b/buch/papers/parzyl/teil1.tex @@ -6,7 +6,7 @@ \section{Lösung \label{parzyl:section:teil1}} \rhead{Problemstellung} -Die Differentialgleichung aus \dots kann mit einer Substitution +Die Differentialgleichungen \eqref{parzyl:sep_dgl_1} und \eqref{parzyl:sep_dgl_2} können mit einer Substitution in die Whittaker Gleichung gelöst werden. \begin{definition} Die Funktion @@ -23,4 +23,6 @@ in die Whittaker Gleichung gelöst werden. \end{equation} \end{definition} +Lösung Folgt\dots + diff --git a/buch/papers/parzyl/teil2.tex b/buch/papers/parzyl/teil2.tex index 59f8b94..3f890d0 100644 --- a/buch/papers/parzyl/teil2.tex +++ b/buch/papers/parzyl/teil2.tex @@ -3,7 +3,7 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Physik sache +\section{Anwendung in der Physik \label{parzyl:section:teil2}} \rhead{Teil 2} -- cgit v1.2.1 From ca43e5660ccbd3f4beaaa2073ce7dda05a80eff6 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 1 Aug 2022 19:58:09 +0200 Subject: Kugel: Introduction and preliminaries (not spherical harmonics, yet) --- buch/papers/kugel/applications.tex | 9 + buch/papers/kugel/introduction.tex | 35 +++ buch/papers/kugel/main.tex | 37 +--- buch/papers/kugel/preliminaries.tex | 346 ++++++++++++++++++++++++++++++ buch/papers/kugel/references.bib | 226 ++++++++++++++++--- buch/papers/kugel/spherical-harmonics.tex | 13 ++ 6 files changed, 605 insertions(+), 61 deletions(-) create mode 100644 buch/papers/kugel/applications.tex create mode 100644 buch/papers/kugel/introduction.tex create mode 100644 buch/papers/kugel/preliminaries.tex create mode 100644 buch/papers/kugel/spherical-harmonics.tex (limited to 'buch/papers') diff --git a/buch/papers/kugel/applications.tex b/buch/papers/kugel/applications.tex new file mode 100644 index 0000000..b2f227e --- /dev/null +++ b/buch/papers/kugel/applications.tex @@ -0,0 +1,9 @@ +% vim:ts=2 sw=2 et spell: + +\section{Applications} + +\subsection{Electroencephalography (EEG)} + +\subsection{Measuring Gravitational Fields} + +\subsection{Quantisation of Angular Momentum} diff --git a/buch/papers/kugel/introduction.tex b/buch/papers/kugel/introduction.tex new file mode 100644 index 0000000..5b09e9c --- /dev/null +++ b/buch/papers/kugel/introduction.tex @@ -0,0 +1,35 @@ +% vim:ts=2 sw=2 et spell tw=78: + +\section{Introduction} + +This chapter of the book is devoted to the sef of functions called +\emph{spherical harmonics}. However, before we dive into the topic, we want to +make a few preliminary remarks to avoid ``upsetting'' a certain type of +reader. Specifically, we would like to specify that the authors of this +chapter not mathematicians but engineers, and therefore the text will not be +always complete with sound proofs after every claim. Instead we will go +through the topic in a more intuitive way including rigorous proofs only if +they are enlightening or when they are very short. Where no proofs are given +we will try to give an intuition for why it is true. + +That being said, when talking about spherical harmonics one could start by +describing their name. The latter may be a cause of some confusion because of +the misleading translations in other languages. In German the name for this +set of functions is ``Kugelfunktionen'', which puts the emphasis only on the +spherical context, whereas the English name ``spherical harmonics'' also +contains the \emph{harmonic} part hinting at Fourier theories and harmonic +analysis in general. + +The structure of this chapter is organized in the following way. First, we +will quickly go through some fundamental linear algebra and Fourier theory to +refresh a few important concepts. In principle, we could have written the +whole thing starting from a much more abstract level without much preparation, +but then we would have lost some of the beauty that comes from the +appreciation of the power of some surprisingly simple ideas. Then once the +basics are done, we can explore the main topic of spherical harmonics which as +we will see arises from the eigenfunctions of the Laplacian operator in +spherical coordinates. Finally, after studying what we think are the most +beautiful and interesting properties of the spherical harmonics, to conclude +this journey we will present a few real-world applications, which are of +course most of interest for engineers. + diff --git a/buch/papers/kugel/main.tex b/buch/papers/kugel/main.tex index 06368af..98d9cb2 100644 --- a/buch/papers/kugel/main.tex +++ b/buch/papers/kugel/main.tex @@ -1,39 +1,20 @@ -% +% vim:ts=2 sw=2 et: % main.tex -- Paper zum Thema % % (c) 2020 Hochschule Rapperswil % -\chapter{Recurrence Relations for Spherical Harmonics in Quantum Mechanics\label{chapter:kugel}} -\lhead{Recurrence Relations in Quantum Mechanics} +\begin{otherlanguage}{english} +\chapter{Spherical Harmonics\label{chapter:kugel}} +\lhead{Spherical Harmonics} \begin{refsection} \chapterauthor{Manuel Cattaneo, Naoki Pross} -\begin{verbatim} - -Ideas and current research goals --------------------------------- - -- Recurrence relations for spherical harmonics -- Associated Legendre polynomials -- Rodrigues' type formula aka Rodrigues' formula -- Applications: - * Quantization of angular momentum - * Gravitational field measurements (NASA ebb and flow, ESA goce) - * Literally anything that needs basis functions on the surface of a sphere - -Literature ----------- - -- Nichtkommutative Bildverarbeitung, T. Mendez, p57+ -- Linear Algebra Done Right, S. Axler, p212,221,231,237 -- Introduction to Quantum Mechanics, D. J. Griffith, p201+ -- Seminar Quantenmechanik, A. Müller, p101,106,114,121 -- Introduction to Partial Differential Equations, J. Oliver, p510+ -- Partial Differential Equations in Engineering Problems, K. Miller, p175,190 - -\end{verbatim} - +\input{papers/kugel/introduction} +\input{papers/kugel/preliminaries} +\input{papers/kugel/spherical-harmonics} +\input{papers/kugel/applications} \printbibliography[heading=subbibliography] \end{refsection} +\end{otherlanguage} diff --git a/buch/papers/kugel/preliminaries.tex b/buch/papers/kugel/preliminaries.tex new file mode 100644 index 0000000..03cd421 --- /dev/null +++ b/buch/papers/kugel/preliminaries.tex @@ -0,0 +1,346 @@ +% vim:ts=2 sw=2 et spell tw=78: + +\section{Preliminaries} + +The purpose of this section is to dust off some concepts that will become +important later on. This will enable us to be able to get a richer and more +general view of the topic than just liming ourselves to a specific example. + +\subsection{Vectors and inner product spaces} + +We shall start with a few fundamentals of linear algebra. We will mostly work +with complex numbers, but for the sake of generality we will do what most +textbook do, and write \(\mathbb{K}\) instead of \(\mathbb{C}\) since the +theory works the same when we replace \(\mathbb{K}\) with the real +numbers \(\mathbb{R}\). + +\begin{definition}[Vector space] + \label{kugel:def:vector-space} \nocite{axler_linear_2014} + A \emph{vector space} over a field \(\mathbb{K}\) is a set \(V\) with an + addition on \(V\) and a multiplication on \(V\) such that the following + properties hold: + \begin{enumerate}[(a)] + \item (Commutativity) \(u + v = v + u\) for all \(u, v \in V\); + \item (Associativity) \((u + v) + w = u + (v + w)\) and \((ab)v = a(bv)\) + for all \(u, v, w \in V\) and \(a, b \in \mathbb{K}\); + \item (Additive identity) There exists an element \(0 \in V\) such that + \(v + 0 = v\) for all \(v \in V\); + \item (Additive inverse) For every \(v \in V\), there exists a \(w \in V\) + such that \(v + w = 0\); + \item (Multiplicative identity) \(1 v = v\) for all \(v \in V\); + \item (Distributive properties) \(a(u + v) = au + av\) and \((a + b)v = av + + bv\) for all \(a, b \in \mathbb{K}\) and all \(u,v \in V\). + \end{enumerate} +\end{definition} + +\begin{definition}[Dot product] + \label{kugel:def:dot-product} + In the vector field \(\mathbb{K}^n\) the scalar or dot product between two + vectors \(u, v \in \mathbb{K}^n\) is + \( + u \cdot v + = u_1 \overline{v}_1 + u_2 \overline{v}_2 + \cdots + u_n \overline{v}_n + = \sum_{i=1}^n u_i \overline{v}_i. + \) +\end{definition} + +\texttt{TODO: Text here.} + +\begin{definition}[Span] +\end{definition} + +\texttt{TODO: Text here.} + +\begin{definition}[Linear independence] +\end{definition} + + +\texttt{TODO: Text here.} + +\begin{definition}[Basis] +\end{definition} + +\texttt{TODO: Text here.} + +\begin{definition}[Inner product] + \label{kugel:def:inner-product} \nocite{axler_linear_2014} + The \emph{inner product} on \(V\) is a function that takes each ordered pair + \((u, v)\) of elements of \(V\) to a number \(\langle u, v \rangle \in + \mathbb{K}\) and has the following properties: + \begin{enumerate}[(a)] + \item (Positivity) \(\langle v, v \rangle \geq 0\) for all \(v \in V\); + \item (Definiteness) \(\langle v, v \rangle = 0\) iff \(v = 0\); + \item (Additivity) \( + \langle u + v, w \rangle = + \langle u, w \rangle + \langle v, w \rangle + \) for all \(u, v, w \in V\); + \item (Homogeneity) \( + \langle \lambda u, v \rangle = + \lambda \langle u, v \rangle + \) for all \(\lambda \in \mathbb{K}\) and all \(u, v \in V\); + \item (Conjugate symmetry) + \(\langle u, v \rangle = \overline{\langle v, u \rangle}\) for all + \(u, v \in V\). + \end{enumerate} +\end{definition} + +This newly introduced inner product is thus a generalization of the scalar +product that does not explicitly depend on rows or columns of vectors. This +has the interesting consequence that anything that behaves according to the +rules given in definition \ref{kugel:def:inner-product} \emph{is} an inner +product. For example if we say that the vector space \(V = \mathbb{R}^n\), +then the dot product defined in definition \ref{kugel:def:dot-product} +\( + u \cdot v = u_1 \overline{v}_1 + u_2 \overline{v}_2 + \cdots + u_n \overline{v}_n +\) +is an inner product in \(V\), and the two are said to form an \emph{inner +product space}. + +\begin{definition}[Inner product space] + \nocite{axler_linear_2014} + An inner product space is a vector space \(V\) equipped with an inner + product on \(V\). +\end{definition} + +How about a more interesting example: the set of continuous complex valued +functions on the interval \([0; 1]\) can behave like vectors. Functions can +be added, subtracted, multiplied with scalars, are associative and there is +even the identity element (zero function \(f(x) = 0\)), so we can create an +inner product +\[ + \langle f, g \rangle = \int_0^1 f(x) \overline{g(x)} \, dx, +\] +which will indeed satisfy all of the rules for an inner product (in fact this +is called the Hermitian inner product\nocite{allard_mathematics_2009}). If +this last step sounds too good to be true, you are right, because it is not +quite so simple. The problem that we have swept under the rug here is +convergence, which any student who took an analysis class will know is a +rather hairy question. We will not need to go too much into the details since +formally discussing convergence is definitely beyond the scope of this text, +however, for our purposes we will still need to dig a little deeper for a few +more paragraph. + +\subsection{Convergence} + +In the last section we hinted that we can create ``infinite-dimensional'' +vector spaces using functions as vectors, and inner product spaces by +integrating the product of two functions of said vector space. However, there +is a problem with convergence which twofold: the obvious problem is that the +integral of the inner product may not always converge, while the second is a +bit more subtle and will be discussed later. The inner product that does +not converge is a problem because we want a \emph{norm}. + +\begin{definition}[\(L^2\) Norm] + \nocite{axler_linear_2014} + The norm of a vector \(v\) of an inner product space is a number + denoted as \(\| v \|\) that is computed by \(\| v \| = \sqrt{\langle v, v + \rangle}\). +\end{definition} + +In \(\mathbb{R}^n\) with the dot product (Euclidian space) the norm is the +geometric length of a vector, while in a more general inner product space the +norm can be thought of as a more abstract measure of ``length''. In any case +it is rather important that the expression \(\sqrt{\langle v, v \rangle}\), +which when using functions \(f: \mathbb{R} \to \mathbb{C}\) becomes +\[ + \sqrt{\langle f, f \rangle} = + \sqrt{\int_\mathbb{R} f(x) \overline{f(x)} \, dx} = + \sqrt{\int_\mathbb{R} |f(x)|^2 \, dx}, +\] +always exists. So, to fix this problems we do what mathematicians do best: +make up the solution. Since the integrand under the square root is always the +square of the magnitude, we can just specify that the functions must be +\emph{absolutely square integrable}. To be more compact it is common to just +write \(f \in L^2\), where \(L^2\) denotes the set of absolutely square +integrable functions. + +Now we can tackle the second (much more difficult) problem of convergence +mentioned at the beginning. Using the technical jargon, we need that our inner +product space is what is called a \emph{complete metric space}, which just +means that we can measure distances. For the more motivated readers although +not really necessary we can also give a more formal definition, the others can +skip to the next section. + +\begin{definition}[Metric space] + \nocite{tao_analysis_2016} + A metric space \((X, d)\) is a space \(X\) of objects (called points), + together with a distance function or metric \(d: X \times X \to [0, + +\infty)\), which associates to each pair \(x, y\) of points in \(X\) a + non-negative real number \(d(x, y) \geq 0\). Furthermore, the metric must + satisfy the following four axioms: + \begin{enumerate}[(a)] + \item For any \(x\in X\), we have \(d(x, x) = 0\). + \item (Positivity) For any \emph{distinct} \(x, y \in X\), we have + \(d(x,y) > 0\). + \item (Symmetry) For any \(x,y \in X\), we have \(d(x, y) = d(y, x)\). + \item (Triangle inequality) For any \(x, y, z \in X\) we have + \(d(x, z) \leq d(x, y) + d(y, z)\). + \end{enumerate} +\end{definition} + +As is seen in the definition metric spaces are a very abstract concept and +rely on rather weak statements, which makes them very general. Now, the more +intimidating part is the \emph{completeness} which is defined as follows. + +\begin{definition}[Complete metric space] + \label{kugel:def:complete-metric-space} + A metric space \((X, d)\) is said to be \emph{complete} iff every Cauchy + sequence in \((X, d)\) is convergent in \((X, d)\). +\end{definition} + +To fully explain definition \ref{kugel:def:complete-metric-space} it would +take a few more pages, which would get a bit too heavy. So instead we will +give an informal explanation through an counterexample to get a feeling of +what is actually happening. Cauchy sequences is a rather fancy name for a +sequence for example of numbers that keep changing, but in a such a way that +at some point the change keeps getting smaller (the infamous +\(\varepsilon-\delta\) definition). For example consider the sequence of +numbers +\[ + 1, + 1.4, + 1.41, + 1.414, + 1.4142, + 1.41421, + \ldots +\] +in the metric space \((\mathbb{Q}, d)\) with \(d(x, y) = |x - y|\). Each +element of this sequence can be written with some fraction in \(\mathbb{Q}\), +but in \(\mathbb{R}\) the sequence is converging towards the number +\(\sqrt{2}\). However, \(\sqrt{2} \notin \mathbb{Q}\). Since we can find a +sequence of fractions whose distance's limit is not in \(\mathbb{Q}\), the +metric space \((\mathbb{Q}, d)\) is \emph{not} complete. Conversely, +\((\mathbb{R}, d)\) is a complete metric space since \(\sqrt{2} \in +\mathbb{R}\). + +Of course the analogy above also applies to vectors, i.e. if in an inner +product space \(V\) over a field \(\mathbb{K}\) all sequences of vectors have +a distance that is always in \(\mathbb{K}\), then \(V\) is also a complete +metric space. In the jargon, this particular case is what is known as a +Hilbert space, after the incredibly influential German mathematician David +Hilbert. + +\begin{definition}[Hilbert space] + A Hilbert space is a vector space \(H\) with an inner product \(\langle f, g + \rangle\) and a norm \(\sqrt{\langle f, f \rangle}\) defined such that \(H\) + turns into a complete metric space. +\end{definition} + +\subsection{Orthogonal basis and Fourier series} + +Now we finally have almost everything we need to get into the domain of +Fourier theory from the perspective of linear algebra. However, we still need +to briefly discuss the matter of orthogonality\footnote{See chapter +\ref{buch:chapter:orthogonalitaet} for more on orthogonality.} and +periodicity. Both should be very straightforward and already well known. + +\begin{definition}[Orthogonality and orthonormality] + \label{kugel:def:orthogonality} + In an inner product space \(V\) two vectors \(u, v \in V\) are said to be + \emph{orthogonal} if \(\langle u, v \rangle = 0\). Further, if both \(u\) + and \(v\) are of unit length, i.e. \(\| u \| = 1\) and \(\| v \| = 1\), then + they are said to be ortho\emph{normal}. +\end{definition} + +\begin{definition}[1-periodic function and \(C(\mathbb{R}/\mathbb{Z}; \mathbb{C})\)] + A function is said to be 1-periodic if \(f(x + 1) = f(x)\). The set of + 1-periodic function from the real to the complex + numbers is denoted by \(C(\mathbb{R}/\mathbb{Z}; \mathbb{C})\). +\end{definition} + +In the definition above the notation \(\mathbb{R}/\mathbb{Z}\) was borrowed +from group theory, and is what is known as a quotient group; Not really +relevant for our discussion but still a ``good to know''. More importantly, it +is worth noting that we could have also defined more generally \(L\)-periodic +functions with \(L\in\mathbb{R}\), however, this would introduce a few ugly +\(L\)'s everywhere which are not really necessary (it will always be possible +to extend the theorems to \(\mathbb{R} / L\mathbb{Z}\)). Thus, we will +continue without the \(L\)'s, and to simplify the language unless specified +otherwise ``periodic'' will mean 1-periodic. Having said that, we can +officially begin with the Fourier theory. + +\begin{lemma} + The subset of absolutely square integrable functions in + \(C(\mathbb{R}/\mathbb{Z}; \mathbb{C})\) together with the Hermitian inner + product + \[ + \langle f, g \rangle = \int_{[0; 1)} f(x) \overline{g(x)} \, dx + \] + form a Hilbert space. +\end{lemma} +\begin{proof} + It is not too difficult to show that the functions in \(C(\mathbb{R} / + \mathbb{Z}; \mathbb{C})\) are well behaved and form a vector space. Thus, + what remains is that the norm needs to form a complete metric space. + However, this follows from the fact that we defined the functions to be + absolutely square integrable\footnote{For the curious on why, it is because + \(L^2\) is what is known as a \emph{compact metric space}, and compact + metric spaces are always complete (see \cite{eck_metric_2022, + tao_analysis_2016}). To explain compactness and the relationship between + compactness and completeness is definitely beyond the goals of this text.}. +\end{proof} + +This was probably not a very satisfactory proof since we brushed off a lot of +details by referencing other theorems. However, the main takeaway should be +that we have ``constructed'' this new Hilbert space of functions in a such a +way that from now on we will not have to worry about the details of +convergence. + +\begin{lemma} + \label{kugel:lemma:exp-1d} + The set of functions \(E_n(x) = e^{i2\pi nx}\) on the interval + \([0; 1)\) with \(n \in \mathbb{Z} \) are orthonormal. +\end{lemma} +\begin{proof} + We need to show that \(\langle E_m, E_n \rangle\) equals 1 when \(m = n\) + and zero otherwise. This is a straightforward computation: We start by + unpacking the notation to get + \[ + \langle E_m, E_n \rangle + = \int_0^1 e^{i2\pi mx} e^{- i2\pi nx} \, dx + = \int_0^1 e^{i2\pi (m - n)x} \, dx, + \] + then inside the integrand we can see that when \(m = n\) we have \(e^0 = 1\) and + thus \( \int_0^1 dx = 1, \) while when \(m \neq n\) we can just say that we + have a new non-zero integer + \(k := m - n\) and + \[ + \int_0^1 e^{i2\pi kx} \, dx + = \frac{e^{i2\pi k} - e^{0}}{i2\pi k} + = \frac{1 - 1}{i2\pi k} + = 0 + \] + as desired. \qedhere +\end{proof} + +\begin{definition}[Spectrum] +\end{definition} + +\begin{theorem}[Fourier Theorem] + \[ + \lim_{N \to \infty} \left \| + f(x) - \sum_{n = -N}^N \hat{f}(n) E_n(x) + \right \|_2 = 0 + \] +\end{theorem} + +\begin{lemma} + The set of functions \(E_{m, n}(\xi, \eta) = e^{i2\pi m\xi}e^{i2\pi n\eta}\) + on the square \([0; 1)^2\) with \(m, n \in \mathbb{Z} \) are orthonormal. +\end{lemma} +\begin{proof} + The proof is almost identical to lemma \ref{kugel:lemma:exp-1d}, with the + only difference that the inner product is given by + \[ + \langle E_{m,n}, E_{m', n'} \rangle + = \iint_{[0;1)^2} + E_{m, n}(\xi, \eta) \overline{E_{m', n'} (\xi, \eta)} + \, d\xi d\eta + .\qedhere + \] +\end{proof} + +\subsection{Laplacian operator} + +\subsection{Eigenvalue Problem} diff --git a/buch/papers/kugel/references.bib b/buch/papers/kugel/references.bib index 013da60..b74c5cd 100644 --- a/buch/papers/kugel/references.bib +++ b/buch/papers/kugel/references.bib @@ -1,35 +1,195 @@ -% -% references.bib -- Bibliography file for the paper kugel -% -% (c) 2020 Autor, Hochschule Rapperswil -% - -@online{kugel:bibtex, - title = {BibTeX}, - url = {https://de.wikipedia.org/wiki/BibTeX}, - date = {2020-02-06}, - year = {2020}, - month = {2}, - day = {6} -} - -@book{kugel:numerical-analysis, - title = {Numerical Analysis}, - author = {David Kincaid and Ward Cheney}, - publisher = {American Mathematical Society}, - year = {2002}, - isbn = {978-8-8218-4788-6}, - inseries = {Pure and applied undegraduate texts}, - volume = {2} -} - -@article{kugel:mendezmueller, - author = { Tabea Méndez and Andreas Müller }, - title = { Noncommutative harmonic analysis and image registration }, - journal = { Appl. Comput. Harmon. Anal.}, - year = 2019, - volume = 47, - pages = {607--627}, - url = {https://doi.org/10.1016/j.acha.2017.11.004} + +@article{carvalhaes_surface_2015, + title = {The surface Laplacian technique in {EEG}: Theory and methods}, + volume = {97}, + issn = {01678760}, + url = {https://linkinghub.elsevier.com/retrieve/pii/S0167876015001749}, + doi = {10.1016/j.ijpsycho.2015.04.023}, + shorttitle = {The surface Laplacian technique in {EEG}}, + pages = {174--188}, + number = {3}, + journaltitle = {International Journal of Psychophysiology}, + shortjournal = {International Journal of Psychophysiology}, + author = {Carvalhaes, Claudio and de Barros, J. Acacio}, + urldate = {2022-05-16}, + date = {2015-09}, + langid = {english}, + file = {Submitted Version:/Users/npross/Zotero/storage/SN4YUNQC/Carvalhaes and de Barros - 2015 - The surface Laplacian technique in EEG Theory and.pdf:application/pdf}, +} + +@video{minutephysics_better_2021, + title = {A Better Way To Picture Atoms}, + url = {https://www.youtube.com/watch?v=W2Xb2GFK2yc}, + abstract = {Thanks to Google for sponsoring a portion of this video! +Support {MinutePhysics} on Patreon: http://www.patreon.com/minutephysics + +This video is about using Bohmian trajectories to visualize the wavefunctions of hydrogen orbitals, rendered in 3D using custom python code in Blender. + +{REFERENCES} +A Suggested Interpretation of the Quantum Theory in Terms of "Hidden" Variables. I +David Bohm, Physical Review, Vol 85 No. 2, January 15, 1952 + +Speakable and Unspeakable in Quantum Mechanics +J. S. Bell + +Trajectory construction of Dirac evolution +Peter Holland + +The de Broglie-Bohm Causal Interpretation of Quantum Mechanics and its Application to some Simple Systems by Caroline Colijn + +Bohmian Trajectories as the Foundation of Quantum Mechanics +http://arxiv.org/abs/0912.2666v1 + +The Pilot-Wave Perspective on Quantum Scattering and Tunneling +http://arxiv.org/abs/1210.7265v2 + +A Quantum Potential Description of One-Dimensional Time-Dependent Scattering From Square Barriers and Square Wells +Dewdney, Foundations of Physics, {VoL} 12, No. 1, 1982 + +Link to Patreon Supporters: http://www.minutephysics.com/supporters/ + +{MinutePhysics} is on twitter - @minutephysics +And facebook - http://facebook.com/minutephysics + +Minute Physics provides an energetic and entertaining view of old and new problems in physics -- all in a minute! + +Created by Henry Reich}, + author = {{minutephysics}}, + urldate = {2022-05-19}, + date = {2021-05-19}, +} + +@article{ries_role_2013, + title = {Role of the lateral prefrontal cortex in speech monitoring}, + volume = {7}, + issn = {1662-5161}, + url = {http://journal.frontiersin.org/article/10.3389/fnhum.2013.00703/abstract}, + doi = {10.3389/fnhum.2013.00703}, + journaltitle = {Frontiers in Human Neuroscience}, + shortjournal = {Front. Hum. Neurosci.}, + author = {Riès, Stephanie K. and Xie, Kira and Haaland, Kathleen Y. and Dronkers, Nina F. and Knight, Robert T.}, + urldate = {2022-05-16}, + date = {2013}, + file = {Full Text:/Users/npross/Zotero/storage/W7KTJB8E/Riès et al. - 2013 - Role of the lateral prefrontal cortex in speech mo.pdf:application/pdf}, +} + +@online{saylor_academy_atomic_2012, + title = {Atomic Orbitals and Their Energies}, + url = {http://saylordotorg.github.io/text_general-chemistry-principles-patterns-and-applications-v1.0/s10-05-atomic-orbitals-and-their-ener.html}, + author = {{Saylor Academy}}, + urldate = {2022-05-30}, + date = {2012}, + file = {Atomic Orbitals and Their Energies:/Users/npross/Zotero/storage/LJ8DM3YI/s10-05-atomic-orbitals-and-their-ener.html:text/html}, +} + +@inproceedings{schmitz_using_2012, + location = {Santa Clara, {CA}, {USA}}, + title = {Using spherical harmonics for modeling antenna patterns}, + isbn = {978-1-4577-1155-8 978-1-4577-1153-4 978-1-4577-1154-1}, + url = {http://ieeexplore.ieee.org/document/6175298/}, + doi = {10.1109/RWS.2012.6175298}, + eventtitle = {2012 {IEEE} Radio and Wireless Symposium ({RWS})}, + pages = {155--158}, + booktitle = {2012 {IEEE} Radio and Wireless Symposium}, + publisher = {{IEEE}}, + author = {Schmitz, Arne and Karolski, Thomas and Kobbelt, Leif}, + urldate = {2022-05-16}, + date = {2012-01}, +} + +@online{allard_mathematics_2009, + title = {Mathematics 203-204 - Basic Analysis I-{II}}, + url = {https://services.math.duke.edu/~wka/math204/}, + author = {Allard, William K.}, + urldate = {2022-07-25}, + date = {2009}, + file = {Mathematics 203-204 - Basic Analysis I-II:/Users/npross/Zotero/storage/LJISXBCM/math204.html:text/html}, +} + +@book{olver_introduction_2013, + location = {New York, {NY}}, + title = {Introduction to partial differential equations}, + isbn = {978-3-319-02098-3}, + publisher = {Springer Science+Business Media, {LLC}}, + author = {Olver, Peter J.}, + date = {2013}, +} + +@book{miller_partial_2020, + location = {Mineola, New York}, + title = {Partial differential equations in engineering problems}, + isbn = {978-0-486-84329-2}, + abstract = {"Requiring only an elementary knowledge of ordinary differential equations, this concise text begins by deriving common partial differential equations associated with vibration, heat flow, electricity, and elasticity. The treatment discusses and applies the techniques of Fourier analysis to these equations and extends the discussion to the Fourier integral. Final chapters discuss Legendre, Bessel, and Mathieu functions and the general structure of differential operators"--}, + publisher = {Dover Publications, Inc}, + author = {Miller, Kenneth S.}, + date = {2020}, + keywords = {Differential equations, Partial}, +} + +@book{asmar_complex_2018, + location = {Cham}, + title = {Complex analysis with applications}, + isbn = {978-3-319-94062-5}, + series = {Undergraduate texts in mathematics}, + pagetotal = {494}, + publisher = {Springer}, + author = {Asmar, Nakhlé H. and Grafakos, Loukas}, + date = {2018}, + doi = {10.1007/978-3-319-94063-2}, + file = {Table of Contents PDF:/Users/npross/Zotero/storage/G2Q2RDFU/Asmar and Grafakos - 2018 - Complex analysis with applications.pdf:application/pdf}, +} + +@book{adkins_ordinary_2012, + location = {New York}, + title = {Ordinary differential equations}, + isbn = {978-1-4614-3617-1}, + series = {Undergraduate texts in mathematics}, + pagetotal = {799}, + publisher = {Springer}, + author = {Adkins, William A. and Davidson, Mark G.}, + date = {2012}, + keywords = {Differential equations}, +} + +@book{griffiths_introduction_2015, + title = {Introduction to electrodynamics}, + isbn = {978-93-325-5044-5}, + author = {Griffiths, David J}, + date = {2015}, + note = {{OCLC}: 965197645}, +} + +@book{tao_analysis_2016, + title = {Analysis 2}, + isbn = {978-981-10-1804-6}, + url = {https://doi.org/10.1007/978-981-10-1804-6}, + author = {Tao, Terence}, + urldate = {2022-07-25}, + date = {2016}, + note = {{OCLC}: 965325026}, +} + +@book{axler_linear_2015, + location = {Cham}, + title = {Linear Algebra Done Right}, + isbn = {978-3-319-11079-0 978-3-319-11080-6}, + url = {https://link.springer.com/10.1007/978-3-319-11080-6}, + series = {Undergraduate Texts in Mathematics}, + publisher = {Springer International Publishing}, + author = {Axler, Sheldon}, + urldate = {2022-07-25}, + date = {2015}, + langid = {english}, + doi = {10.1007/978-3-319-11080-6}, + file = {Submitted Version:/Users/npross/Zotero/storage/3Y8MX74N/Axler - 2015 - Linear Algebra Done Right.pdf:application/pdf}, } +@online{eck_metric_2022, + title = {Metric Spaces: Completeness}, + url = {https://math.hws.edu/eck/metric-spaces/completeness.html}, + titleaddon = {Math 331: Foundations of Analysis}, + author = {Eck, David J.}, + urldate = {2022-08-01}, + date = {2022}, + file = {Metric Spaces\: Completeness:/Users/npross/Zotero/storage/5JYEE8NF/completeness.html:text/html}, +} \ No newline at end of file diff --git a/buch/papers/kugel/spherical-harmonics.tex b/buch/papers/kugel/spherical-harmonics.tex new file mode 100644 index 0000000..6b23ce5 --- /dev/null +++ b/buch/papers/kugel/spherical-harmonics.tex @@ -0,0 +1,13 @@ +% vim:ts=2 sw=2 et spell: + +\section{Spherical Harmonics} + +\subsection{Eigenvalue Problem in Spherical Coordinates} + +\subsection{Properties} + +\subsection{Recurrence Relations} + +\section{Series Expansions in \(C(S^2)\)} + +\nocite{olver_introduction_2013} -- cgit v1.2.1