Take the average of predefined consecutive values in a matrix array

4 次查看(过去 30 天)
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.

采纳的回答

Dyuman Joshi
Dyuman Joshi 2023-7-18
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 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by