How can I find a maximum mean value of row with given 2D array?
1 view (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
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.
0 Comments
More Answers (0)
See Also
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!