我将绘制围绕太阳的地球。因此,该任务分为 2 个子任务。在第一个任务中,我将近似认为该运动是一个圆圈。
我使用以下代码来获得解决方案,但是程序会以某种方式编辑一个点而不是几个点。你能帮我解决我的算法吗?
所以我的代码:
npoints = 360
x= np.zeros((npoints,1))
y= np.zeros((npoints,1))
v_x=np.zeros((npoints,1))
v_y=np.zeros((npoints,1))
r=1
dt=1
x[0]=1.
y[0]=0.
v_x[0]=-1.
v_y[90]=-1.
v_x[180]=1.
v_y[270]=1.
for step in range(0,npoints-1):
v_x[step+1]=v_x[step]-4*pi**2*x[step]/(r**3)*dt
x[step+1]=x[step]+v_x[step+1]*dt
v_y[step+1]=v_y[step]-4*pi**2*y[step]/(r**3)*dt
y[step+1]=y[step]+v_y[step+1]*dt
plt.plot(x, y)
plt.axis([-100, 100, -100, 100])
plt.ylabel('y-axis')
plt.xlabel('x-axis')
plt.show()
谢谢你的帮助 :)