Не совсем ясно из вопроса, имеете ли вы дело с фиксированной длиной
данные или если данные постоянно поступают. Хорошая физическая модель для последнего
будет фильтр нижних частот, используя конденсатор и резистор (R и C). Если предположить,
Ваши данные расположены на равном расстоянии друг от друга (не так ли?), что приводит к обновлению
U_aged [n + 1] = U_aged [n] + deltat / Tau (U_raw [n + 1] - U_aged [n])
где Тау - постоянная времени фильтра. В пределе нулевого дельта это
дает экспоненциальный спад (старые значения будут уменьшены до 1 / е от их значения после
время тау). В реализации вам нужно только сохранить текущую взвешенную сумму U_aged.
deltat будет 1, а Tau будет указывать «постоянную старения», количество шагов
требуется уменьшить вклад образца до 1 / е.