Take the average of predefined consecutive values in a matrix array

3 views (last 30 days)
Hello, I would like to calculate the average of consecutive values from a predifined number of elements from a Nx1 matrix, where N is the number of rows. For example, let's say I have a matrix with the following form (24x1):
A[1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24]
I want to obtain the average for every 5 elements,
B=[(1+2+3+4+5)/5; (2+3+4+5+6)/5; (3+4+5+6+7)/5;...........(20+21+22+23+24)/5]
I am chosing every 5 elements to simplify the example. But, this number can be higher than 20.
I would appreciate the help.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 18 Jul 2023
A = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24];
%Moving mean with 5 element windows, discarding the end points
B = movmean(A,5,'Endpoints','discard')
B = 20×1
3 4 5 6 7 8 9 10 11 12

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!