mean value of each row

215 views (last 30 days)
ava
ava on 5 Feb 2012
Commented: Walter Roberson on 2 Sep 2021
I have A 500 by 16 matrix and I want to find a mean value of each row and return the result as a 500 by 1.
Does anyone have an idea?
Thank you
  2 Comments
Walter Fanka
Walter Fanka on 15 Jul 2018
Edited: Walter Roberson on 17 Jul 2018
y = yourmatrix;
meanrow_y = mean(y')'
Walter Roberson
Walter Roberson on 17 Jul 2018
That should work for 2D arrays like were asked about. However for 3 or more dimensions it would not work and you would need to use a couple of permute() instead. It is a lot easier to just pass in the dimension number like I showed in my Answer.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 5 Feb 2012
mean(YourMatrix,2)
  4 Comments
Jan
Jan on 15 Mar 2017
The documentation of mean explains this exhaustively already:
doc mean
The first input is the data, the 2nd the dimension to operate on. Therefore mean(x,2) is the mean over the 2nd dimension, which means the rows.
Amy Gleckl
Amy Gleckl on 20 Dec 2019
I had a similar issue and this worked perfectly for me, thank you very much!

Sign in to comment.

More Answers (2)

sura Naji
sura Naji on 25 Oct 2019
l have amatrix contact from 1 colum and 1000 rows l want to find the mean and the standard deviation also l want to find the worst value of this because l use the particle swarm optimization
  1 Comment
Walter Roberson
Walter Roberson on 22 Dec 2019
M = mean(amatrix);
S = std(amatrix);
[~, order] = max(abs(amatrix - M));
furthest_from_mean = amatrix(order(1));
Note that the value that is furthest from the mean will also be the value that is the greatest zscore (furthest deviation)

Sign in to comment.


RAMPUNIT KUMAR
RAMPUNIT KUMAR on 2 Sep 2021
RAMPUNIT KUMAR less than a minute ago ⋮ I too have a doubt, like for matrix (a b c d e f g h I j k l m n o p q r) I need to find the mean of a,b then c,d then e,f then g,h and so on upto last element. How could we do that if size is big enough.
  1 Comment
Walter Roberson
Walter Roberson on 2 Sep 2021
syms a b c d e f g h I j k l m n o p q r
matrix = [a b c d e f g h I j k l m n o p q r]
matrix = 
means = (matrix(1:2:end) + matrix(2:2:end))/2
means = 
except that you would use the appropriate numeric values in matrix instead of syms . The syms used here is just for demonstration purposes.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!