Take the average of predefined consecutive values in a matrix array

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.

 채택된 답변

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by