movingstd & movingstd2

A (fast) windowed std on a time series (or array)
12.1K Downloads
Updated 8 Apr 2016

View License

Occasionally I see a request for computation of a running, windowed standard deviation. This is easily accomplished using filter and the alternative formula for the standard deviation:
std = sqrt((sum(x.^2) - n*xbar.^2)/(n-1)).
movingstd allows you to specify forward, backward or central windows of any desired length. It patches the ends, shortening the window as necessary.
movingstd2 is now included, allowing a moving window standard deviation on 2-dimensional arrays. (I suppose I could easily enough implement movingstdn if that becomes of interest.)

Cite As

John D'Errico (2024). movingstd & movingstd2 (https://www.mathworks.com/matlabcentral/fileexchange/9428-movingstd-movingstd2), MATLAB Central File Exchange. Retrieved .

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

Inspired: slidefun

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.4.0.0

movingstd2 included

1.3.0.0

strncmpi instead of strmatch for tests
Pre-centered and pre-scaled now

1.2.0.0

Fix the case of complex std results due to floating point arithmetic.

1.1.0.0

Documentation change to explicitly state the behavior at the end of the series.