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

40 views (last 30 days)
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 ?

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)

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

Thorsten on 8 Jul 2016
mean(reshape(mean(X), 2, []))

#### 1 Comment

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