Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

find all minimum elements of 2 dimensional array in Matlab

Having 2-dimensional array,A, I want to find minimum number in the array. However I can have more than one of that number. How can I find the [row col] of all minimum value? Example:

2 3 4 2
1 6 7 1
9 8 3 1

It should return [2,1] [2,4] [3,4]

like image 441
Sara Avatar asked Jan 07 '13 23:01

Sara


People also ask

How do you find min and max in MATLAB?

[ minA , maxA ] = bounds( A , 'all' ) computes the minimum and maximum values over all elements of A . This syntax is valid for MATLAB® versions R2018b and later. [ minA , maxA ] = bounds( A , dim ) operates along the dimension dim of A .


2 Answers

find will do the trick:

[I,J] = find(A == min(A(:)) );

disp([I J])
   2   1
   2   4
   3   4
like image 200
tmpearce Avatar answered Sep 30 '22 11:09

tmpearce


I belive this should work

[row,col]=find(a==min(a(:)))

where a is your matrix. Find can also output a linear index if you give just one output.

like image 34
christhechris Avatar answered Sep 30 '22 12:09

christhechris