Moving averages / Moving median etc

Calculates moving averages (or median/fun) of a timeseries.
15.9K Downloads
Updated 16 Jun 2011

View License

MOVING will compute moving averages of order n (best taken as odd)

Usage: y=moving(x,n[,fun])
where x is the input vector (or matrix) to be smoothed.
m is number of points to average over (best odd, but even works)
y is output vector of same length as x
fun (optional) is a custom function rather than moving averages

Note:if x is a matrix then the smoothing will be done 'vertically'.


Example:

x=randn(300,1);
plot(x,'g.');
hold on;
plot(moving(x,7),'k');
plot(moving(x,7,'median'),'r');
plot(moving(x,7,@(x)max(x)),'b');
legend('x','7pt moving mean','7pt moving median','7pt moving max','location','best')

Cite As

Aslak Grinsted (2024). Moving averages / Moving median etc (https://www.mathworks.com/matlabcentral/fileexchange/8251-moving-averages-moving-median-etc), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

added Screenshot, updated description

1.0.0.0

Made more flexible and more robust.