地球卫星三维运行轨道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)