離心率ベクトル方程式が常に-1に等しいのはなぜですか?
On 2月 13, 2021 by adminこれは離心率ベクトル方程式、 $$ e = \ frac {1} {\ mu} [( v ^ 2-{\ mu \ over r})r-(r \ cdot v)v] $$ $$ e = | e | $$ 現在、この方程式は多くの異なるソースから異なって書かれていますが、それらは本質的に同じことを意味します。私はこの方程式を試しましたが、変数にどのような値を与えても、答えは常に-1(または絶対値では1)です。放物線の離心率が1であることは理解していますが、この方程式は楕円にも当てはまります。では、なぜ答えは常に-1なのですか?私は何かが足りないのですか?よろしくお願いします。
コメント
回答
右側の式は、離心率 vector を与えることを目的としていますが、ベクトル表記が失われています。
ここにこの回答があります:
$$ e = {v ^ 2 r \ over {\ mu}}-{(r \ cdot v)v \ over {\ mu}}-{r \ over {\ left | r \ right |}} $$
そしてベクトルの性質も明確ではありません。
$$ \ mathbf {e} = {v ^ 2 \ mathbf {r} \ over {\ mu}}-{(\ mathbf {r} \ cdot \ mathbf {v})\ mathbf {v} \ over {\ mu}}-{\ mathbf {r} \ over {r}} $$
ここで、太字はベクトルと $ v = | \ mathbf {v} | $ および
$$ \ 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 |}} $$
式
ここで簡単に計算して確認します。
Pythonスクリプト:
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()
コメント
- コメントは詳細なディスカッション用ではありません。この会話はチャットに移動。
- @uhoh明確にするために、ベクトル内積は円軌道では常に0になりますか?速度が私を連れて行く場所と半径の間の角度は常に90度です。また、楕円軌道では、遠地点と近地点でベクトル内積は0です。
- @StarManうん'は正しいです。円の場合軌道、または任意の近地点および楕円の遠地点の場合、$ \ mathbf {v} \ cdot \ ma thbf {r} $はゼロになります。簡単なチェックとして:$ e = 0 $の円の場合、右側の2番目の項がゼロの場合、$ 0 = v ^ 2 r / mu-1 $となり、$ v ^ 2 = mu / r $となります。は、$ r = a $である円軌道の vis-viva方程式です。
+1
本当に良い質問をありがとう! '今すぐ回答を書いていますが、約20分かかります…