文档库

最新最全的文档下载
当前位置:文档库 > 地球卫星三维运行轨道MATLAB仿真

地球卫星三维运行轨道MATLAB仿真

地球卫星三维运行轨道MATLAB 仿真

1、问题的描述

轨道上运行的地球卫星,根据牛顿第二定律F=ma 以及万有引力定律3E F=-GmM *r/r ,

可得3E a=-GM *r/r ,即

地球卫星三维运行轨道MATLAB仿真

3E 3E 3

E x''= -GM *x/r y''= -GM *y/r ;z''= -GM *z/r ?????(1)

式中,(x ,y ,z )表示卫星的三维坐标,为-1122

G=6.672*10(N m /kg )?引力常数,24E M =5.97*10(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]。

该卫星轨道求解过程实际上是求解一个二阶常微分方程,可首先将该方程转换为一阶常微分方程,令T

X=[x,y,z,x',y',z'],故公式(1)可转化为 3E (4)(5)(6)X'() ==-GM /r (1)(2)(3)X X X t A A X A X A X ??????????*????*??*?? (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)

x(5)

x(6)

A*x(1)

A*x(2)

A*x(3)];

End

(2)主程序如下,注意:为更好地查看卫星轨道与地球的相对位置关系,此处将地球模型图的绘制代码一并给出

clear all

close all

clc

y0=[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 on

grid on

mesh(X,Y,Z)%绘制地球

plot3(x,y,z)%绘制卫星轨道

仿真结果如下(给出两张图):

地球卫星三维运行轨道MATLAB仿真

-10-8-6-4-202468x 106-1

01x 107-8

-6

-4

-2

2

4

6

8

x 10

6

地球卫星三维运行轨道MATLAB仿真

-17

-8-6

-4

-2

2

4

6

8