首页>穹顶天宫 > 第239章 我就是薛定谔的猫→魏格纳的朋友角色→拷贝版

第239章 我就是薛定谔的猫→魏格纳的朋友角色→拷贝版(第2页)

目录

m2=7.348e22#月球质量

m3=1.989e30#太阳质量

#初始位置(m)

r1_0=np.array([0,0])

r2_0=np.array([3.844e8,0])#月球距地球的平均距离

r3_0=np.array([1.496e11,0])#地球距太阳的平均距离

#初始速度(ms)

v1_0=np.array([0,0])

v2_0=np.array([0,1022])#月球轨道速度

v3_0=np.array([0,])#地球轨道速度

initial_conditions=nponcatenate([r1_0,v1_0,r2_0,v2_0,r3_0,v3_0])

#定义运动方程

defequations(t,y):

r1=y[0:2]

v1=y[2:4]

r2=y[4:6]

v2=y[6:8]

r3=y[8:10]

v3=y[10:12]

r12=np.linalg.norm(r2-r1)

r13=np.linalg.norm(r3-r1)

r23=np.linalg.norm(r3-r2)

dv1_dt=G*m2*(r2-r1)r12**3+G*m3*(r3-r1)r13**3

dv2_dt=G*m1*(r1-r2)r12**3+G*m3*(r3-r2)r23**3

dv3_dt=G*m1*(r1-r3)r13**3+G*m2*(r2-r3)r23**3

dr1_dt=v1

dr2_dt=v2

dr3_dt=v3

returnnponcatenate([dr1_dt,dv1_dt,dr2_dt,dv2_dt,dr3_dt,dv3_dt])

#数值积分

t_span=(0,3.154e7)#积分时间为一年

t_eval=np.linspace(0,3.154e7,1000)#1000个时间点

solution=solve_ivp(equations,t_span,initial_conditions,t_eval=t_eval)

#将位置结果提取出来

r1_solution=solution.y[0:2,:]

r2_solution=solution.y[4:6,:]

r3_solution=solution.y[8:10,:]

#轨迹绘图

plt.plot(r1_solution,r1_solution,label=Earth)

plt.plot(r2_solution,r2_solution,label=moon)

本章未完,点击下一页继续阅读



返回顶部