File Exchange

image thumbnail


version 1.0 (4.68 KB) by

One-dimensional sliding-window arithmetic average of a signal.



View License

This function implements a one-dimensional smoothing filter, applying a sliding window to a numerical sequence. Such filtering replaces the center value in the window with the arithmetic mean computed among the points within the window.
When the sliding window is exceeding the lower or upper boundaries of the input vector, the average is computed only among the available points.

This function can be conveniently employed for smoothing one-dimensional noisy signals and its results are very similar to other "quick and dirty" smoothing techniques.
When compared to a standard first-order low-pass filter, it is important to note that the averaging performed here does not only involve the past history of the signal but the future samples as well.

I underline that the filtering by the present routine resembles what the median filter performs (see medfilt1()), although there is no "artifact" or transient responses at the beginning and the end of the signal, due to the presence of a non-zero offset in the data (see the screenshot).

Comments and Ratings (6)


mendel (view profile)

cannot plot multiple dataset with overlapping

Siony Cole

Used to use this file. Now, i find the fast moving_average.m by carlos vargas, works with nans, and for matrix too... anyway, thanks michele


Jan Mikkelsen

Well written .. and very usefull

todd mackey

Inefficient and limited to 1D data only. Should use summed area tables.



BSD License update.

MATLAB Release
MATLAB 6.1 (R12.1)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today