Making a moving average filter without looking in to the future. So forecasting the data, how do you do it?
4 次查看(过去 30 天)
显示 更早的评论
M = 11
% 4. Moving average filter
for n = 1:M
yma(n) = average(y([1:n+M-1]));
end
for n = M+1:length(t)-M
yma(n) = average(y([n-M:n+M]));
end
for n = length(t)-M+1:length(t)
yma(n) = average(y([n-M:length(t)]));
end
yma = yma';
3 个评论
Mathieu NOE
2022-4-12
sorry ; it's late here and I must be tired ,
I don't understand the question 24
回答(1 个)
Steven Lord
2022-4-12
编辑:Steven Lord
2022-4-12
Use the movmean function with the M = movmean(A, [kb kf]) syntax given on its documentation page. Choose kf = 0 to include 0 elements forward of the current element.
x = randi(10, 1, 5)
M = movmean(x, [1 0])
N = 4;
check = (x(N-1)+x(N))/2 - M(N)
Note that the expression for check (the moving mean for element 4) does not include x(5), so the moving mean computation didn't "look into the future".
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!