MATLAB Answers

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

49 views (last 30 days)
Niki
Niki on 8 Jul 2016
Commented: Star Strider on 8 Jul 2016
I have a big matrix and I want to get the average of each 2 columns,
Is there any function to do that ?

  0 Comments

Sign in to comment.

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
@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
@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.

Sign in to answer this question.


Translated by