我一直试图用数字方法求解基本谐振子的图形,但是当物体上的加速度与距离中心的距离的倒数成反比时会出现问题:
import math
from pylab import *
xg = [2]
xt = [0]
k = 1
dt = 1/1000
Vx = 0
for i in range(800000):
a = -1/xg[i-1] #acceleration on the object
Vx = Vx + dt*a
xg.append(xg[i-1]+Vx*dt)
xt.append(i*dt)
plot(xt,xg)
show()
正如你所看到的那样,它似乎会因为某些原因而下降并且不会返回。
我想知道造成这种情况的原因是什么,我一直试图解决这个问题几个小时。
是的,我是python,堆栈交换和数字解决问题的新手。任何反馈都表示赞赏