Fast moving average
In terms of behavior, this is an alternative to filter() for a moving-average kernel. The running time does not grow with filter length beyond N=500.
The code uses a variant of the cumsum-trick, although not the "garden variety" but in a way that does not run into numerical issues for long data arrays.
The function is suitable for incremental (online) processing.
Cite As
Christian Kothe (2026). Fast moving average (https://au.mathworks.com/matlabcentral/fileexchange/34567-fast-moving-average), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: downsample_ts
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.2.0.0 | The N<500 case is now correctly implemented... (had a dumb error before) |
||
| 1.1.0.0 | Fixed an issue pointed out by Jan Simon (failed to determine along which dimension to filter when the signal was a scalar) and updated the docs. |
||
| 1.0.0.0 |
