作业帮 > 综合 > 作业

用matlab解微分方程组并作图

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/20 16:01:39
用matlab解微分方程组并作图
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')