how to take the average of a matrix of any size

1 view (last 30 days)
How do I compute the mean of all the values in a matrix of any size

Answers (2)

Wayne King
Wayne King on 14 Mar 2012
mean()
X = randn(100,100);
mean(mean(X))
or
mean(X(:))
  4 Comments
Wayne King
Wayne King on 14 Mar 2012
If you want the means of the columns or the rows, you can use mean() with the dimension argument
X = mean(X,1);
or
X = mean(X,2);
Honglei Chen
Honglei Chen on 14 Mar 2012
Wayne's answer is for matrix of any size. Just try it out.

Sign in to comment.


Sean de Wolski
Sean de Wolski on 14 Mar 2012
mean(X(:))
or for speed:
N = numel(X);
sum(reshape(X,N,1))/N;
or for fun:
eval([repmat('mean(',1,ndims(X)) 'X' repmat(')',1,ndims(X)) ';']);
  1 Comment
Jan
Jan on 15 Mar 2012
A strange definition of "fun".
I think, that "sum(X(:))/numel(X)" is more fun, it is even _nice_.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!