《地球卫星三维运行轨道MATLAB仿真》由会员分享,可在线阅读,更多相关《地球卫星三维运行轨道MATLAB仿真(3页珍藏版)》请在金锄头文库上搜索。
1、地球卫星三维运行轨道MATLAB仿真1、问题的描述 轨道上运行的地球卫星,根据牛顿第二定律以及万有引力定律,可得,即(1)式中,(x,y,z)表示卫星的三维坐标,为引力常数,是地球的质量。假定卫星的三个方向的初始位置和速度如下。 该卫星轨道求解过程实际上是求解一个二阶常微分方程,可首先将该方程转换为一阶常微分方程,令,故公式(1)可转化为(2)初始条件即为。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) x
2、(5) x(6) A*x(1) A*x(2) A*x(3);End(2)主程序如下,注意:为更好地查看卫星轨道与地球的相对位置关系,此处将地球模型图的绘制代码一并给出clear allclose allclcy0=2043922.166765 8186504.631471 4343461.714791 -5379.544693 -407.095342 3516.052656; t,result=ode45(vdp,0:1:9000,y0); x=result(:,1);y=result(:,2);z=result(:,3);X,Y,Z=sphere(200);RE=0.64e7;X=RE*X;Y=RE*Y;Z=RE*Z;figure(1)hold ongrid onmesh(X,Y,Z)%绘制地球plot3(x,y,z)%绘制卫星轨道仿真结果如下(给出两张图):