Dlaczego równanie wektora mimośrodu jest zawsze równe -1?
On 13 lutego, 2021 by adminTo jest równanie wektora mimośrodu, $$ e = \ frac {1} {\ mu} [( v ^ 2 – {\ mu \ over r}) r- (r \ cdot v) v] $$ $$ e = | e | $$ Teraz to równanie jest napisane inaczej z wielu różnych źródeł, ale zasadniczo oznaczają to samo. Wypróbowałem to równanie i bez względu na to, jakie wartości nadałem zmiennym, odpowiedź zawsze wynosi -1 (lub 1 w wartościach bezwzględnych). Rozumiem, że mimośrodowość paraboli wynosi 1, ale to równanie dotyczy również elips. Dlaczego więc odpowiedź jest zawsze -1? Czy coś mi brakuje? Z góry dziękuję.
Komentarze
Odpowiedź
Wyrażenie po prawej ma na celu podanie mimośrodu wektora , ale zapis wektora został utracony.
Tutaj jest ta odpowiedź :
$$ e = {v ^ 2 r \ over {\ mu}} – {(r \ cdot v) v \ over {\ mu}} – {r \ over {\ left | r \ right |}} $$
a natura wektorowa też nie jest jasna. Powinniśmy zapisać to jako
$$ \ mathbf {e} = {v ^ 2 \ mathbf {r} \ over {\ mu}} – {(\ mathbf {r} \ cdot \ mathbf {v}) \ mathbf {v} \ over {\ mu}} – {\ mathbf {r} \ over {r}} $$
gdzie pogrubiona twarz reprezentuje wektory i $ v = | \ mathbf {v} | $ i $ r = | \ mathbf { r} | $ lub jako
$$ \ mathbf {e} = {| \ mathbf {v} | ^ 2 \ mathbf {r } \ over {\ mu}} – {(\ mathbf {r} \ cdot \ mathbf {v}) \ mathbf {v} \ over {\ mu}} – {\ mathbf {r} \ over {\ left | \ mathbf {r} \ right |}} $$
W wyrażeniu $ (\ mathbf {r} \ cdot \ mathbf {v}) \ mathbf {v} $ termin $ \ mathbf {r} \ cdot \ mathbf {v} $ jest iloczynem wektorowym i zwraca skalar , który następnie mnoży wektor $ \ mathbf {v} $ .
Oto szybkie obliczenia, aby to potwierdzić. Wybrałem $ \ mu = 1 $ i $ a = 1 $ , tak aby okres orbitalny wynosił $ 2 \ pi $ . Widać, że składowa wektora mimośrodu x wynosi +0,8 i jest stała, a składowa y wynosi 0,0. Potwierdza to, że wektor mimośrodowości zawsze wskazuje kierunek perycentrum i jego wielkość jest zawsze równa mimośrodowość skalarna, która w tym przypadku wynosi 0,8
Skrypt Pythona:
def deriv(X, t): x, v = X.reshape(2, -1) acc = -x * ((x**2).sum())**-1.5 return np.hstack((v, acc)) import numpy as np import matplotlib.pyplot as plt from scipy.integrate import odeint as ODEint halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)] e = 0.8 peri = 1. - e apo = 1. + e vperi = np.sqrt(2./peri - 1.) # vis-viva equation X0 = np.array([peri, 0] + [0, vperi]) times = np.linspace(0, twopi, 201) answer, info = ODEint(deriv, X0, times, full_output=True) r, v = answer.T.reshape(2, 2, -1) vsq = (v**2).sum(axis=0) rabs = np.sqrt((r**2).sum(axis=0)) evec = vsq*r - (r*v).sum(axis=0) * v - r/rabs if True: x, y = r plt.figure() plt.subplot(2, 1, 1) plt.plot(x, y) plt.plot([0], [0], "oy", markersize=16) # the Sun plt.xlim(-2, 0.5) plt.ylim(-1.25, 1.25) plt.subplot(4, 1, 3) plt.plot(times/twopi, x) plt.plot(times/twopi, y) plt.title("x, y", fontsize=16) plt.subplot(4, 1, 4) x, y = evec plt.plot(times/twopi, x) plt.plot(times/twopi, y) plt.title("evec_x, evec_y", fontsize=16) plt.show()
Komentarze
- Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa była przeniesiony do czatu .
- @uhoh Aby wyjaśnić, iloczyn skalarny wektora zawsze będzie wynosił 0 na orbicie kołowej, prawda? Ponieważ kąt między miejscem, w którym moja prędkość mnie zabiera, a promieniem wynosi zawsze 90 stopni. Na orbicie eliptycznej iloczyn skalarny wektora wynosi 0 w apocentrum i perycentrum.
- @StarMan tak, że ' jest prawdą. Dla kołowego orbita lub dla dowolnej perycentrum i apocentrum elipsy, $ \ mathbf {v} \ cdot \ ma thbf {r} $ będzie równe zero. Dla szybkiego sprawdzenia: dla okręgu z $ e = 0 $, jeśli drugi wyraz po prawej jest równy zero, masz $ 0 = v ^ 2 r / mu – 1 $, co daje $ v ^ 2 = mu / r $ co to równanie vis-viva dla orbity kołowej, gdzie $ r = a $.
+1
za naprawdę dobre pytanie! Piszę teraz ' odpowiedź, co powinno zająć około 20 minut …