how to take the average of a matrix of any size
Show older comments
How do I compute the mean of all the values in a matrix of any size
Answers (2)
Wayne King
on 14 Mar 2012
mean()
X = randn(100,100);
mean(mean(X))
or
mean(X(:))
4 Comments
lowcalorie
on 14 Mar 2012
Sean de Wolski
on 14 Mar 2012
X = rand(3,3,3,3,3);
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
on 14 Mar 2012
Wayne's answer is for matrix of any size. Just try it out.
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
on 15 Mar 2012
A strange definition of "fun".
I think, that "sum(X(:))/numel(X)" is more fun, it is even _nice_.
Categories
Find more on Variables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!