我已经尝试过使用euler方法代码,并且正在使用euler来计算第一个值,所以在verlet中有两个可供我使用,但是当我绘制图形时,我只得到两条垂直的直线
代码如下:
for t in t_array:
if t == 0:
x0 = x
x1 = x0
a = -k * x1 / m
x2 = x1 + dt * v
v = v + dt * a
x_list.append(x2)
v_list.append(v)
else:
x2 = x1
x1 = x0
x2 = 2*x1 - x0 + dt**2*a
v = (1/dt)*(x2 - x1)
x_list.append(x2)
v_list.append(v)
然后我用matplotlib绘制了一张图
目前没有回答
相关问题 更多 >
编程相关推荐