how can I get the mean of each two columns of a matrix ?

18 views (last 30 days)
I have a big matrix and I want to get the average of each 2 columns,
Is there any function to do that ?

Accepted Answer

Star Strider
Star Strider on 8 Jul 2016
I’m not quite sure what you want.
See if this works for you:
M = randi(99, 10);
RM = reshape(M, 10, 2, [])
Mmean = mean(RM,2)
  2 Comments
Niki
Niki on 8 Jul 2016
Edited: Niki on 8 Jul 2016
@Star Strider average of each two columns should give me 1 column . means average of each element . Let say if I have 100 columns in my original data, it should give me 50 columns
Star Strider
Star Strider on 8 Jul 2016
I forgot a squeeze call. This will do what you want, and should work with any matrix:
M = randi(99, 10); % Create Data
RM = reshape(M, size(M,1), 2, []) % Reshape
Mmean = squeeze(mean(RM,2)) % Desired Result

Sign in to comment.

More Answers (1)

Thorsten
Thorsten on 8 Jul 2016
mean(reshape(mean(X), 2, []))
  1 Comment
Niki
Niki on 8 Jul 2016
Edited: Niki on 8 Jul 2016
@Thorsten average of each two columns should give me 1 column . means average of each element . Let say if I have 100 columns in my original data, it should give me 50 columns

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!