0

我已经尝试过调整欧拉方法代码,并且正在使用欧拉来计算第一个值,所以我在 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 绘制图表。

4

0 回答 0