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

조회 수: 1 (최근 30일)
David
David 2012년 5월 22일
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
Daniel Shub 2012년 5월 22일
x = randn(180);
[~, I] = min(x(:));
[I, J] = ind2sub(size(x), I);

추가 답변 (3개)

David
David 2012년 5월 22일
Thanks - I would not have intuited this from MatLab's limited documentation.

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

David
David 2012년 5월 22일
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.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by