How to find a row that have maximum mean value in 2D array?

Let's say I have a 2D array S(m,n).
What I want to do is to find a row that has the biggest mean value. I'll call this row as 'i'th row.
So my matlab code was like this.
[i]=find(S==max(mean(S)));
[i]
But matlab just shows "ans = []" which means, there is something wrong with my code.
The problem is, I have no idea how to fix it.
Any ideas?

 Accepted Answer

KL
KL on 2 Dec 2017
Edited: KL on 3 Dec 2017
You'd need
[maxVal, maxInd] = max(mean(S,2))
mean with parameter 2 calculates mean on the second dimension and then you find the max and it's index.

3 Comments

uh....I think there are some mistakes in your code.
maxRow = find(max(mean(S,2)))
This only returns 1.
You're right, using find wasn't the best choice. You can simply use the second output of max.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 2 Dec 2017

Commented:

KL
on 3 Dec 2017

Community Treasure Hunt

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

Start Hunting!