How can I find a maximum mean value of row with given 2D array?

1 view (last 30 days)
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.
Someone said that
maxRow=find(max(mean(S,2)));
i = maxRow
this code could solve the problem but unfortunately, the code above only returns 1.
Any ideas?

Accepted Answer

Star Strider
Star Strider on 3 Dec 2017
Try this:
max_mean_row_idx = find(mean(S,2) == max(mean(S,2)))
max_mean_row = mean(S(max_mean_row_idx,:),2)
if there could be several rows with the same maximum row mean,
or:
[max_mean_row,max_mean_row_idx] = max(mean(S,2))
if you only want the first maximum row mean.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!