地球衛星三維運行軌道MATLAB仿真
1、問題的描述
3 軌道上運行的地球衛星,根據牛頓第二定律F=ma以及萬有引力定律F=-GmME*r/r,
3可得a=-GME*r/r,即
x''= -GME*x/r3 3 y''= -GME*y/r; z''= -GM*z/r3
E (1)
式中,(x,y,z)表示衛星的三維坐標,為G=6.672*10(N m/kg)引力常數,-1122
ME=5.97*1024(kg)是地球的質量。假定衛星的三個方向的初始位置和速度如下
[x(0),y(0),z(0),x'(0),y'(0),z'(0)]=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。
該衛星軌道求解過程實際上是求解一個二階常微分方程,可首先將該方程轉換為一階常微分方程,令X=[x,y,z,x',y',z'],故公式(1)可轉化為 T
X(4) X(5) X(6) X'(t) = A X(1) A X(2) A X(3) A=-GME/r3 (2)
初始條件即為X(0)=[2043922.17 8186504.63 4343461.71 -5379.54 -407.10 3516.05]。
2、MATLAB仿真代碼
分兩段程序:(1)子程序將二階微分方程轉換為一階微分方程,代碼如下
function fy=vdp(t,x)
r=x(1)^2+x(2)^2+x(3)^2;
G=3.986005e14;
A=-G/r^(3/2);
fy=[x(4)