Finding multiple minimum number in a column and location
Afficher commentaires plus anciens
Hello, I have a matrix X =
100 14 10 4 10 6
101 2 8 8 12 18
102 8 4 8 18 14
103 2 12 8 8 18
104 5 15 5 5 15
105 8 16 6 4 12
106 7 11 3 9 13
107 16 12 6 8 4
108 12 10 2 10 8
109 6 6 4 14 14
For second column, 2. and 4. rows are 2 and they are the smallest number.. If there is more then one same smallest number how can I find all of them location?
Réponses (2)
madhan ravi
le 27 Oct 2018
Modifié(e) : madhan ravi
le 27 Oct 2018
a=[ 100 14 10 4 10 6
101 2 8 8 12 18
102 8 4 8 18 14
103 2 12 8 8 18
104 5 15 5 5 15
105 8 16 6 4 12
106 7 11 3 9 13
107 16 12 6 8 4
108 12 10 2 10 8
109 6 6 4 14 14]
id=(min(a))
[idy,idx]=find(ismember(a,id))
location = [idx idy] %idx represent row number and idk column number
3 commentaires
Ali Aygün
le 27 Oct 2018
madhan ravi
le 27 Oct 2018
Modifié(e) : madhan ravi
le 27 Oct 2018
see edited , each row in location represents position of minimum of each column
Bruno Luong
le 27 Oct 2018
still doesn't work, test with
a = [1 10;
10 20]
It will return the position of lower-left 10, which is not wanted.
Bruno Luong
le 27 Oct 2018
Modifié(e) : Bruno Luong
le 27 Oct 2018
X = [...
100 14 10 4 10 6
101 2 8 8 12 18
102 8 4 8 18 14
103 2 12 8 8 18
104 5 15 5 5 15
105 8 16 6 4 12
106 7 11 3 9 13
107 16 12 6 8 4
108 12 10 2 10 8
109 6 6 4 14 14]
[row,col] = find(X == min(X,[],1));
position = [row,col]
>>
1 1
2 2
4 2
3 3
9 4
6 5
8 6
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!