RUNMEAN

版本 1.0.0.0 (3.3 KB) 作者: Jos (10584)
Version 3.0 (sep 2006) Very fast running mean (aka moving average) filter
8.2K 次下载
更新时间 2006/9/20

查看许可证

For vectors, Y = RUNMEAN(X,M) computes a running mean (also known as moving average) on the elements of the vector X. It uses a window of 2*M+1 datapoints. M an positive integer defining (half) the size of the window. In pseudo code:
Y(i) = sum(X(j)) / (2*M+1), for j = (i-M):(i+M), and i=1:length(X)

For matrices, Y = RUNMEAN(X,M) or RUNMEAN(X,M,[]) operates on the first non-singleton dimension of X. RUNMEAN(X,M,DIM) computes the running mean along the dimension DIM.

If the total window size (2*M+1) is larger than the size in dimension DIM, the overall average along dimension DIM is computed.

As always with filtering, the values of Y can be inaccurate at the edges. RUNMEAN(..., MODESTR) determines how the edges are treated. MODESTR can be one of the following strings:
'edge' : X is padded with first and last values along dimension DIM (default)
'zero' : X is padded with zeros
'mean' : X is padded with the mean along dimension DIM

X should not contains NaNs, yielding an all NaN result. NaNs can be replaced by using, e.g., "inpaint_nans" created by John D'Errico.

This is an incredibly fast implementation of a running mean, since execution time does not depend on the size of the window.

This is version 3.0 (sep 19, 2006). The previous posted code of version 1.3 is attached at the end.

引用格式

Jos (10584) (2024). RUNMEAN (https://www.mathworks.com/matlabcentral/fileexchange/10113-runmean), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R13
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Digital Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0.0.0

Major change (1.3 - 3.0): can now operate along specific dimension, and contains several possible treatments of the edges.