Как следует из названия. Глядя на блок кода:
m = 100
a = -9.8
y0 = 30000
t0 = 0
v0 = 0
dt = 0.01
yAF = np.array([])
yAF = np.append(yAF, y0)
tAF = np.array([])
tAF = np.append(tAF, t0)
speedAF = np.array([])
speedAF = np.append(speedAF, v0)
def dy_dt(t):
return a * t
i = 0
while yAF[i] >= 0:
i = i + 1
tAF = np.append(tAF, tAF[i-1] + dt)
speedAF = np.append(speedAF, dy_dt(tAF[i-1]))
yAF = np.append(yAF, yAF[i-1] + dt * dy_dt(tAF[i-1]))
Как видите, я пытаюсь выполнить условие, когда значение yAF [i] становится меньше нуля, я не хочу добавлять его в массив и хочу завершить цикл.
Код в настоящее время все еще добавляет первое значение меньше 0 в массив перед остановкой. Есть ли способ исправить эту ошибку?