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

19 次查看(过去 30 天)
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
Star Strider 2016-7-8
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 个评论
Niki
Niki 2016-7-8
编辑:Niki 2016-7-8
@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 2016-7-8
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

请先登录,再进行评论。

更多回答(1 个)

Thorsten
Thorsten 2016-7-8
mean(reshape(mean(X), 2, []))
  1 个评论
Niki
Niki 2016-7-8
编辑:Niki 2016-7-8
@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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by