Efficiently calculate exponentially weighted moving averages of matrix?

조회 수: 13 (최근 30일)
yari lazzaro
yari lazzaro 2018년 12월 4일
편집: Bill Tubbs 2021년 7월 22일
Hi, I've seen movmean function to calculate the moving average, but is there any function to compute the exponentially weighted moving average of a matrix of values? I would like to compute it considering a window moving over rows.
Thank you for your help.

답변 (1개)

Bill Tubbs
Bill Tubbs 2021년 7월 22일
편집: Bill Tubbs 2021년 7월 22일
I find the easiest way is to use a discrete filter. But the input data is in columns here not rows:
x = [0 1 1 1 1; 0 0 1 1 1]'; % input signals in columns
a = 0.4; % smoothing factor (0 to 1);
% y(k) = a / (1 - (1-a)*q^-1) * x(k)
y = filter(a,[1 a-1], x)
y =
0 0
0.4000 0
0.6400 0.4000
0.7840 0.6400
0.8704 0.7840

카테고리

Help CenterFile Exchange에서 Matched Filter and Ambiguity Function에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by