How to calculate moving average in a matrix?
5 views (last 30 days)
Show older comments
Andrea Finocchiaro
on 8 Oct 2015
Commented: Image Analyst
on 7 Apr 2017
Hi Guys, I have got a matrix :378x9. I need to calculate the moving average with a window size of 120(starting from row one). Can somebody help me please? By the way, i need to do it also for the covariance(i mean,"A MOVING COVARIANCE). Thank you very much Andrea
2 Comments
Joseph Cheng
on 8 Oct 2015
is this a window of 120x9 or are you looking to perform the averaging window per column.
Accepted Answer
Image Analyst
on 8 Oct 2015
Edited: Image Analyst
on 8 Oct 2015
Try conv2:
kernel = ones(120,1)/120;
output = conv2(yourSignal, kernel, 'valid');
Since the window does not leave the boundaries of your signal, of course the output signal will not have as many elements as your input signal.
More Answers (1)
Grzegorz Knor
on 7 Apr 2017
1 Comment
Image Analyst
on 7 Apr 2017
True, and it offers some edge handling options ('shrink', 'discard', 'fill') that conv2() does not have.
conv2() also does not require any toolboxes because it's in base MATLAB.
See Also
Categories
Find more on Gaussian Process Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!