阿波罗卫星运转轨迹MATLAB作图
题目
代码如下
.m文件代码:
%下面是.m文件的程序,该文件需要以appollo命名
function dx=appollo(t,x)
mu=1/82.45;
fai=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-fai)^2+x(3)^2);
dx=[x(2)
2*x(4)+x(1)-fai*(x(1)+mu)/r1^3-mu*(x(1)-fai)/r2^3
x(4)
-2*x(2)+x(3)-fai*x(3)/r1^3-mu*x(3)/r2^3];
%以上格式不可改变,表示为列向量
命令行代码:
x0=[1.2;0;0;-1.0493575];
[t,y]=ode45(@appollo,[0,20],x0);
plot(t,y(:,1),'r',t,y(:,3),'g')
title('阿波罗卫星横纵坐标随时间变化图')
figure
plot(y(:,1),y(:,3))
title('阿波罗卫星运动轨迹')
结果: