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

1 visualización (últimos 30 días)
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?

Respuesta aceptada

Star Strider
Star Strider el 3 de Dic. de 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.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!