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/lambertw') 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|