Я запускаю симуляцию на python, которая включает в себя множество циклов.Поскольку мой ноутбук имеет ограниченную вычислительную мощность, я хочу записывать только каждый n-й результат в массив, в котором хранятся мои данные.Я посмотрел в Интернете о нарезке массивов, но смог найти способ сделать это только после того, как полноразмерный массив уже был создан.Цикл for приведен ниже:
def Simulate(time, steps):
history_x = np.zeros(2000000)
history_y = np.zeros(2000000)
for i in range(2000000):
#calculate positions
a_x = ((-6.67e-11)*(mE)/((x**2 + y**2)))
a_y = ((-6.67e-11)*(mE)/((x**2 + y**2)))
v_x = v_x + (delta_t)*a_x
v_y = v_y + (delta_t)*a_y
y = y + (delta_t)*v_y + ((delta_t)**2)*a_y*0.5
x = x + (delta_t)*v_x + ((delta_t)**2)*(a_x)*0.5
rocket_history_x[i] = x
rocket_history_y[i] = y
(x, y, v_x, v_y и mE все определены до цикла в моем коде, не хочу загромождать этот пост)
По сути, математика не важна, но я хочу, чтобы history_x и history_y сохраняли только каждый n-й расчет x и y.Как мне это сделать?