how to do running mean?

Hi all,
I have a 3d matrix with a dimension of 21*41*273, for which I want to do the running mean over the third dimension (273 days) for every 4 days.
Any help would be appreciated.

 Accepted Answer

Try something like this
M = rand(21, 41, 273);
M_new = movmean(M, [0 3], 3, 'Endpoints', 'discard');
M_new = M_new(:,:,1:4:end);

5 Comments

Lilya
Lilya on 22 Oct 2020
My apprecited. Solved!
I am glad to be of help!
Lilya
Lilya on 25 Oct 2020
Hi Sir Ameer, I have a small question here in this line:
M_new = movmean(M, [0 3], 3, 'Endpoints', 'discard');
What does the [0 3] refer to? I've checked it and it seems that it takes the data from 0 to 3. Am I understand it correctly?
also the ,3, in the line is it for 4 elements mean?
Thanks
Yes, It means that it takes data from the current value and the next three values.
Lilya
Lilya on 25 Oct 2020
Thank you!

Sign in to comment.

More Answers (0)

Categories

Asked:

on 22 Oct 2020

Commented:

on 25 Oct 2020

Community Treasure Hunt

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

Start Hunting!