运行时错误,导致意外值

2024-09-28 21:30:42 发布

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

下面的问题是建立一个跟车模型。两个参数:时间步长和反应时间取自用户。计算加速率,以便在时间步长(TS)结束时达到所需间距。另外,反应时间为∆t被考虑在内。之前∆t随动器的当前速度/加速度将保持不变,然后新的加速度将在剩余的时间步(TS)内发生,或持续TS-∆t如果TS>;∆T如果TS<;∆t、 然后速度变化将在之后发生∆t(多个TS)

Python代码:

m=1
q=0
l=0
while q<32.5:
    distance.append(25-t_s*(float(v_follower[m-1])-float(v_leader[m-1])))
    if(distance[m]>5):
        if(t_s<r_t):
            if(l==r_t):
                v_follower.append(float(v_follower[m-1]+31.4*r_t))
                l=0
            else:
                v_follower.append(float(v_follower[m-1]))
                l+=t_s#write code for t_s>r_t
        else:
            v_follower.append(float(v_follower[m-1])+31.4*(t_s-r_t))
    else:
        if(t_s<r_t):
            if(l==r_t):
                v_follower.append(float(v_leader[m]))
                l=0
            else:
                v_follower.append(float(v_follower[m-1]))
                l+=t_s
        else:
            v_follower.append(float(v_leader[m]))
    m+=1
    q+=t_s

预期结果是一个值高于零但在过程结束时趋于零的矩阵。实际结果是全零


Tags: 模型参数if时间floatelse速度distance