diff options
Diffstat (limited to 'buch/papers/lambertw/Bilder')
-rw-r--r-- | buch/papers/lambertw/Bilder/Abstand.py | 18 | ||||
-rw-r--r-- | buch/papers/lambertw/Bilder/Intuition.pdf | bin | 0 -> 187016 bytes | |||
-rw-r--r-- | buch/papers/lambertw/Bilder/Strategie.pdf | bin | 120904 -> 151684 bytes | |||
-rw-r--r-- | buch/papers/lambertw/Bilder/Strategie.py | 9 | ||||
-rw-r--r-- | buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png | bin | 297455 -> 356399 bytes | |||
-rw-r--r-- | buch/papers/lambertw/Bilder/konvergenz.py | 20 | ||||
-rw-r--r-- | buch/papers/lambertw/Bilder/lambertAbstandBauchgefühl.py | 58 |
7 files changed, 101 insertions, 4 deletions
diff --git a/buch/papers/lambertw/Bilder/Abstand.py b/buch/papers/lambertw/Bilder/Abstand.py new file mode 100644 index 0000000..d787c34 --- /dev/null +++ b/buch/papers/lambertw/Bilder/Abstand.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +""" +Created on Sat Jul 30 23:09:33 2022 + +@author: yanik +""" + +import numpy as np +import matplotlib.pyplot as plt + +phi = np.pi/2 +t = np.linspace(0, 10, 10**5) +x0 = 1 + +def D(t): + return np.sqrt(x0**2+2*x0*t*np.cos(phi)+2*t**2-2*t**2*np.sin(phi)) + +plt.plot(t, D(t)) diff --git a/buch/papers/lambertw/Bilder/Intuition.pdf b/buch/papers/lambertw/Bilder/Intuition.pdf Binary files differnew file mode 100644 index 0000000..739b02b --- /dev/null +++ b/buch/papers/lambertw/Bilder/Intuition.pdf diff --git a/buch/papers/lambertw/Bilder/Strategie.pdf b/buch/papers/lambertw/Bilder/Strategie.pdf Binary files differindex 0de3001..b5428f5 100644 --- a/buch/papers/lambertw/Bilder/Strategie.pdf +++ b/buch/papers/lambertw/Bilder/Strategie.pdf diff --git a/buch/papers/lambertw/Bilder/Strategie.py b/buch/papers/lambertw/Bilder/Strategie.py index b9b41bf..975e248 100644 --- a/buch/papers/lambertw/Bilder/Strategie.py +++ b/buch/papers/lambertw/Bilder/Strategie.py @@ -34,7 +34,8 @@ ax.quiver(X, Y, U, W, angles='xy', scale_units='xy', scale=1, headwidth=5, headl 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.set_xlabel("x", size=20) +ax.set_ylabel("y", size=20) ax.text(2.5, 4.5, "Visierlinie", size=20, rotation=10) @@ -44,9 +45,9 @@ plt.rcParams.update({ "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') +ax.text(1.6, 4.3, r"$\dot{v}$", size=20) +ax.text(0.65, 3.9, r"$V$", size=20, c='b') +ax.text(5.15, 4.85, r"$Z$", size=20, c='b') diff --git a/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png b/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png Binary files differindex 90758cd..e6e7c1e 100644 --- a/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png +++ b/buch/papers/lambertw/Bilder/VerfolgungskurveBsp.png diff --git a/buch/papers/lambertw/Bilder/konvergenz.py b/buch/papers/lambertw/Bilder/konvergenz.py new file mode 100644 index 0000000..dac99a7 --- /dev/null +++ b/buch/papers/lambertw/Bilder/konvergenz.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +""" +Created on Sun Jul 31 14:34:13 2022 + +@author: yanik +""" + +import numpy as np +import matplotlib.pyplot as plt + +t = 0 +phi = np.linspace(np.pi/2, 3*np.pi/2, 10**5) +x0 = 1 +y0 = -2 + +def D(t): + return (x0+t*np.cos(phi))*np.cos(phi)+(y0+t*(np.sin(phi)-1))*(np.sin(phi)-1)/(np.sqrt((x0+t*np.cos(phi))**2+(y0+t*(np.sin(phi)-1))**2)) + + +plt.plot(phi, D(t))
\ No newline at end of file diff --git a/buch/papers/lambertw/Bilder/lambertAbstandBauchgefühl.py b/buch/papers/lambertw/Bilder/lambertAbstandBauchgefühl.py new file mode 100644 index 0000000..3a90afa --- /dev/null +++ b/buch/papers/lambertw/Bilder/lambertAbstandBauchgefühl.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +""" +Created on Sun Jul 31 13:32:53 2022 + +@author: yanik +""" + +import numpy as np +import matplotlib.pyplot as plt +import scipy.special as sci + +W = sci.lambertw + + +t = np.linspace(0, 1.2, 1000) +x0 = 1 +y0 = 1 + +r0 = np.sqrt(x0**2+y0**2) +chi = (r0+y0)/(r0-y0) + +x = x0*np.sqrt(1/chi*W(chi*np.exp(chi-4*t/(r0-y0)))) +eta = (x/x0)**2 +y = 1/4*((y0+r0)*eta+(y0-r0)*np.log(eta)-r0+3*y0) + +ymin= (min(y)).real +xmin = (x[np.where(y == ymin)][0]).real + + +#Verfolger +plt.plot(x, y, 'r--') +plt.plot(xmin, ymin, 'bo', markersize=10) + +#Ziel +plt.plot(np.zeros_like(t), t, 'g--') +plt.plot(0, ymin, 'bo', markersize=10) + + +plt.plot([0, xmin], [ymin, ymin], 'k--') +#plt.xlim(-0.1, 1) +#plt.ylim(1, 2) +plt.ylabel("y") +plt.xlabel("x") +plt.grid(True) +plt.quiver(xmin, ymin, -0.2, 0, scale=1) + +plt.text(xmin+0.1, ymin-0.1, "Verfolgungskurve", size=20, rotation=20, color='r') +plt.text(0.01, 0.02, "Fluchtkurve", size=20, rotation=90, color='g') + +plt.rcParams.update({ + "text.usetex": True, + "font.family": "serif", + "font.serif": ["New Century Schoolbook"], +}) + +plt.text(xmin-0.11, ymin-0.08, r"$\dot{v}$", size=20) +plt.text(xmin-0.02, ymin+0.05, r"$V$", size=20, c='b') +plt.text(0.02, ymin+0.05, r"$Z$", size=20, c='b')
\ No newline at end of file |