Я пишу функцию в C ++ для расчета скользящего среднего потока данных. Я хочу использовать инкрементальное усреднение . Поскольку я реализую это на относительно слабом микропроцессоре, я хочу выполнить скользящее среднее. То есть я хочу выполнить добавочное среднее по последним значениям X (X ~ 100).
Насколько я понимаю, инкрементное усреднение требует усреднения всех данных и не поддерживает перемещение окна.
Кто-нибудь знает хороший способ рассчитать «скользящее» инкрементальное среднее?
Если A(i, n)
среднее значение по n элементам x_i, ..., x_(i + n - 1)
, затем A(i + 1, n) = A(i, n) + (x_(i +n) - x_i) / n
,