Finding multiple minimum number in a column and location

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?

Answers (2)

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 Comments

It doesnt work, I need to find minimum number of every column and location... however, second column has 2 minimum number so I should find 2 location for that one
see edited , each row in location represents position of minimum of each column
still doesn't work, test with
a = [1 10;
10 20]
It will return the position of lower-left 10, which is not wanted.

Sign in to comment.

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

Categories

Tags

Asked:

on 27 Oct 2018

Reopened:

on 20 Nov 2018

Community Treasure Hunt

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

Start Hunting!