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 (2024). Fast moving average (https://www.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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!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 |