Take the average of predefined consecutive values in a matrix array

4 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)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!