3.1.3.C
Gegeben
Symbole:
Größen:
Eine Punktmasse fliegt reibungsfrei im Schwerefeld von A nach P.
a) Geometrie
Geben Sie für das gegebene \(\alpha=30^\circ\) ungerundete Zahlenwerte an für:
Die Wurfparabel ist:
Zeigen Sie durch Einsetzen, dass man für die gegebenen Größen erhält:
Einsetzen liefert:Lösung
b) Anfangsgeschwindigkeit
Berechnen Sie \(v > 0\), sodass die Punktmasse durch P fliegt, sodass:
Zeigen Sie, dass:
Die Wurfparabel ist: Dies auflösen nach \(v^2\) liefert: Einsetzen von \(y(x=x_P) = - h\) liefert: Für \(0^\circ < \alpha < 90^\circ\) und \(v > 0\) und \(h > 0\) liefert das: Einsetzen der gegebenen Größen liefert:Lösung
c) Höchste Position
Für den höchsten Punkt M der Flugbahn bei \((x_M, y_M)\) gilt:
Zeigen Sie, dass:
Einsetzen der Größen liefert das.Lösung
d) Winkel für minimale Anfangsgeschwindigkeit
Für die gegebenen Größen \(h\) und \(x_P\): Berechnen Sie den Winkel \(\alpha^*\), sodass die Anfangsgeschwindigkeit \(v>0\) minimal ist , und zwar in \(^\circ\) (Grad) und gerundet auf Rundestellenwert \(0{,}01.\)
Hinweis
Berechnen Sie:
Und suchen Sie das \(\alpha^*\), für das \(v^2\) minimal wird, mit der dafür notwendigen Bedingung:
Das Quadrat der Anfangsgeschwindigkeit ist bekannt von weiter oben: Wegen \(v>0\) ist \(v\) minimal genau dann wenn \(v^2\) minimal ist. Notwendige Bedingung hierfür ist: Ableiten nach \(\alpha\) liefert: Diese Ableitung auswerten bei \(\alpha^*\) liefert: Einsetzen der gegebenen Größen liefert: Bemerkung Hiermit ergibt sich als Anfangsgeschwindigkeit:Lösung
e) Ground Speed
Berechnen Sie:
\(v_h\), den horizontalen Anteil der Geschwindigkeit für Startwinkel \(\alpha=30^\circ\),
\(v_h^*\), den horizontalen Anteil der Geschwindigkeit für Startwinkel \(\alpha^*\),
\(t\), die Flugdauer für Startwinkel \(\alpha=30^\circ\),
\(t^*\), die Flugdauer für Startwinkel \(\alpha^*\).
Lösung
f) Wurfparabeln
Zeichnen Sie die Wurfparabeln für Startwinkel \(\alpha\) und für Startwinkel \(\alpha^*\).
Um auf einer geraden Bahn zu fliegen mit Startwinkel \(\alpha=\arctan \tfrac{-1}{3} \stackrel{\scriptscriptstyle{0{,}01}}{\approx} -18{,}43^\circ\), müsste die Anfangsgeschwindigkeit unendlich groß sein.Lösung
Source Code eines Programms dazu: Programm ausführen? Dazu: Copy: Source Code in die Zwischenablage kopieren. Paste: Source Code ins Eingabefeld hinter Play: Knopf SymPy
import pickle
from sympy.physics.units import kg, m, s
from sympy import pi, S, pprint, symbols, cos, sin, Matrix, Eq, solve, sqrt, exp, simplify
from sympy import tan, atan
# Units:
N = kg*m/s**2
k, M, G = 10**3, 10**6, 10**9
kN = k*N
Pa = N/m**2
MPa, GPa = M*Pa, G*Pa
deg = pi/180
half = S(1)/2
cm = m/100
mm = m/1000
# Rounding:
def iso_round(x, pv):
try:
x = float(x)
tmp = round(x, pv)
except TypeError:
x = x.evalf()
from functools import partial
func = partial(round, ndigits = pv)
tmp = x.applyfunc(func)
return tmp
# Printing:
def printout(x, unit=1, prec="nil", sub_list=[]):
x = x.subs(sub_list)
x /= unit
try:
x = x.applyfunc(simplify)
except:
tmp = x.simplify()
if tmp != None:
x = tmp
if prec != "nil":
x = iso_round(x, prec)
pprint(x)
return
# ---
alpha, g = symbols("alpha, g")
h, xP = symbols("h, xP", positive=True)
x, xi, v = symbols("x, xi, v", positive=True)
sub_list=[
( alpha , 30 *deg ),
( g , 10 *m/s**2 ),
( h , 1 *m ),
( xP , 3 *m ),
]
# Shortcuts:
sa, ca, ta = sin(alpha), cos(alpha), tan(alpha)
ss, ca2, s2a = sa*sa, ca*ca, sin(2*alpha)
pprint("\ny(x):")
y = -g/2/v/v/ca2 *x*x + ta*x
pprint(y)
tmp = y.subs(sub_list)
pprint(tmp)
pprint("\nv / (m/s):")
nom = g*xP*xP
den = h*ca2 + xP*ta*ca2
va = sqrt(2)/2 * sqrt(nom/den)
printout(va, unit=m/s, prec=2, sub_list=sub_list)
pprint("\n(xM, zM) / m:")
rM= Matrix([s2a, ss])
rM *= va*va/2/g
printout(rM, unit=m, prec=3, sub_list=sub_list)
pprint("\nα* / deg:")
alphas = half*atan(xP/h)
printout(alphas, unit=deg, prec=1, sub_list=sub_list)
pprint("\nv / (m/s) for α*:")
# Shortcuts:
sb, cb, tb = sin(alphas), cos(alphas), tan(alphas)
ss, cb2, s2b = sb*sb, cb*cb, sin(2*alphas)
den = h*cb2 + xP*tb*cb2
vas = sqrt(2)/2 * sqrt(nom/den)
printout(vas, unit=m/s, prec=2, sub_list=sub_list)
pprint("\nvₕ / (m/s) for α*:")
vhs = vas*cb
printout(vhs, unit=m/s, prec=2, sub_list=sub_list)
# Save to database:
db = {
"sub_list": sub_list,
"alpha": alpha,
"alphas": alphas,
"g": g,
"va": va,
"vas": vas,
"h": h,
"xP": xP,
}
pickle.dump( db, open( "db.pickle", "wb" ) )
[ ]: einfügen.▶ drücken.