平面限制性三体问题仿真

平面限制性三体问题指第三个天体质量远小于其他两个天体的问题,即第三个天体的质量可以忽略。比如说地月系统和人造卫星就是典型的例子。本文旨在仿真卫星在拉格朗日点受到扰动后的行为。

需要说明的是地月形成的坐标系不是惯性系,卫星会受到引力、惯性力和科氏力。

clc;clear;clear;
%%%%%%%%%%%%%%——第二版——%%%%%%%%%%%%
%上一版是比较粗略的估计算法,以地球为地月系统中心点,实际上中心点偏离地心在地球内部
% 图设置
figure('name','地月系统拉格朗日点位置');
axis equal;
grid on;
hold on
xlabel('x/m');
ylabel('y/m');
hold on
axis([-5e8,5e8,-5e8,5e8]);
hold on
m1=5.976e24;%地球质量
m2=7.35e22;%月球质量
G=6.67*10^(-11);%万有引力常数
R=3.844e8;%地月距离
a1=m2*R/(m1+m2);
a2=m1*R/(m1+m2);
omega=sqrt(G*(m1+m2)/power(R,3));%牵连角速度
L1_x=R*0.85-a1;L1_y=0;%拉格朗日点坐标
L2_x=R*1.17-a1;L2_y=0;
L3_x=-R*0.99-a1;L3_y=0;
L4_x=R/2-a1;L4_y=sqrt(3)/2*R;
L5_x=R/2-a1;L5_y=-sqrt(3)/2*R;
x=[L1_x L2_x L3_x L4_x L5_x ];
y=[L1_y L2_y L3_y L4_y L5_y ];
plot(x,y,'ro');%绘图
hold on
line([-a1,L4_x],[0,L4_y],'linestyle',':');
line([-a1,L5_x],[0,L5_y],'linestyle',':');
line([L3_x,L2_x],[L3_y,L2_y],'linestyle',':');
hold on
theta=0:pi/30:2*pi;
x1=-a1+R*cos(theta);y1=R*sin(theta);
plot(x1,y1,'b--');
title('地月系统拉格朗日点','fontsize',18);
hold on
text(L1_x,L1_y+0.4e8,'L1','fontsize',12);
text(L2_x,L2_y+0.4e8,'L2','fontsize',12);
text(L3_x+0.5e8,L3_y,'L3','fontsize',12);
text(L4_x+0.5e8,L4_y,'L4','fontsize',12);
text(L5_x+0.5e8,L5_y,'L5','fontsize',12);
hold on
%%
dt=0.005;
pos=[L4_x,L4_y];
v=[40,50];
plant=plot(pos(1),pos(2));
h=animatedline('color','b');
frame=0;
while true
   rho1=sqrt((pos(1)+a1)^2+pos(2)^2); 
   rho2=sqrt((pos(1)-a2)^2+pos(2)^2); 
   r=sqrt(pos(1)^2+pos(2)^2);
   a_x=-G*m1*(pos(1)+a1)/power(rho1,3)-G*m2*(pos(1)-a2)/power(rho2,3)+omega^2*pos(1)+2*omega*v(2);
   a_y=-G*m1*pos(2)/power(rho1,3)-G*m2*pos(2)/power(rho2,3)+omega^2*pos(2)-2*omega*v(1);
   
   v(1)=v(1)+a_x*dt;
   v(2)=v(2)+a_y*dt;
   
   pos(1)=pos(1)+v(1)*dt+1/2*a_x*dt^2;
   pos(2)=pos(2)+v(2)*dt+1/2*a_y*dt^2;
   frame=frame+1;
   if frame==1000000
      frame=0;
      addpoints(h,pos(1),pos(2));
      drawnow
   end
end

下图是在L4点添加速度扰动的结果: 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值