尝试进行verlet集成

2024-09-27 07:23:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经尝试过使用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绘制了一张图


Tags: 方法代码in图形fordt绘制直线

热门问题