matlab Apollo卫星的运动轨迹
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/18 08:05:23
matlab Apollo卫星的运动轨迹
已知Apollo卫星的运动轨迹 满足下面的方程
u0=1/82.43;u1=1-u0,
r1=sqrt((x+u0)^2+y^2),
r2=sqrt((x-u1)^2+y^2),
DDx=2*Dy+x-u1*(x+u0)/r1^3-u0*(x-u1)/r2^3,
DDy=-2*Dx+y-u0*y/r1^3-u1*y/r2^3,
x(0)=1.2,Dx(0)=0,y(0)=0,Dy(0)=-1.04935751,
其中 ,试在初值 下分别用ode45命令和Simulink进行求解,并绘制出Apollo位置的 轨迹
已知Apollo卫星的运动轨迹 满足下面的方程
u0=1/82.43;u1=1-u0,
r1=sqrt((x+u0)^2+y^2),
r2=sqrt((x-u1)^2+y^2),
DDx=2*Dy+x-u1*(x+u0)/r1^3-u0*(x-u1)/r2^3,
DDy=-2*Dx+y-u0*y/r1^3-u1*y/r2^3,
x(0)=1.2,Dx(0)=0,y(0)=0,Dy(0)=-1.04935751,
其中 ,试在初值 下分别用ode45命令和Simulink进行求解,并绘制出Apollo位置的 轨迹
function dx=appollo(t,x)
mu=1/82.45;
mustar=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-mustar)^2+x(3)^2);
dx=[x(2)
2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3
x(4)
-2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];
--------------------------------------------------------------------------------------
x0=[1.2;0;0;-1.04935751];%x0(i)对应与xi的初值
options=odeset('reltol',1e-8);%该命令的另一种写法是options=odeset;options.reltol=1e-8;
tic
[t,y]=ode45(@appollo,[0,20],x0,options);%t是时间点,y的第i列对应xi的值,t和y的行数相同
toc
plot(y(:,1),y(:,3))%绘制x1和x3,也就是x和y的图形
title('Appollo卫星运动轨迹')
xlabel('X')
ylabel('Y')
Elapsed time is 0.597879 seconds.
mu=1/82.45;
mustar=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-mustar)^2+x(3)^2);
dx=[x(2)
2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3
x(4)
-2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];
--------------------------------------------------------------------------------------
x0=[1.2;0;0;-1.04935751];%x0(i)对应与xi的初值
options=odeset('reltol',1e-8);%该命令的另一种写法是options=odeset;options.reltol=1e-8;
tic
[t,y]=ode45(@appollo,[0,20],x0,options);%t是时间点,y的第i列对应xi的值,t和y的行数相同
toc
plot(y(:,1),y(:,3))%绘制x1和x3,也就是x和y的图形
title('Appollo卫星运动轨迹')
xlabel('X')
ylabel('Y')
Elapsed time is 0.597879 seconds.