# locating the relative position of a value in a 2 x matrix

1 view (last 30 days)
David on 22 May 2012
I have a 180 by 180 matrix and want to locate the position of the minimum value so I can subsequently reuse the source variables used in the creation of that matrix.
i.e. the minimum valur occurs at row 10 and column 130 but I have not been able to simply return those two numbers.

Daniel Shub on 22 May 2012
x = randn(180);
[~, I] = min(x(:));
[I, J] = ind2sub(size(x), I);

### More Answers (3)

David on 22 May 2012
Thanks - I would not have intuited this from MatLab's limited documentation.

Daniel Shub on 22 May 2012
From an understanding point, maybe this is better
x = randn(180);
[y, I] = min(x);
[~, J] = min(y);
[I(J), J]

David on 22 May 2012
Thanks again - both example solutions extend well beyond the simple MatLab documentation.
My key takeaways from the first solution frame an understanding / confirmation regarding the second. The use of the wild card (:) unlocks some of my road blocks as does the realization that the first index is a linear index that must be converted into row and column designations.