用于Orbite仿真的Euler / RK4 python

时间:2017-05-10 10:40:05

标签: python runge-kutta

我开始为8个平面进行轨道模拟的代码(太阳在(0,0)) 我在X和Y上加速,现在我需要使用它们来获得X和Y的速度,首先使用Euler,然后使用RK4,我卡住了,我不知道从哪里开始。这是我的代码:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

您实际应该使用numpy提供的矢量运算。

您应该统一构造参数数组的方式。没有明显的理由来区分位置和速度。甚至可能专门用于扩展列表的过程add_body(m,x,y,vx,vy)

  

您的加速度计算出错了,您开始编写代码来计算一个物体的加速度,但切换到计算所有物体的加速度列表,导致参数不匹配。你应该得到被零除错误。

Euler方法会非常快速地产生定性误差,不要因此而气馁。