finding all indices of a value in matrix
조회 수: 235 (최근 30일)
이전 댓글 표시
i have a matrix say
[2 2 3 ;
2 4 2;
2 3 2]
how do i find all the indices (row, column) of 2 (minimum value element of matrix) in the given matrix?
댓글 수: 4
Stephen23
2020년 2월 18일
"but could you plz tell how is it better by not using find?"
It isn't better, it just demonstrates that every problem can be approached in different ways, and hopefully shows a different way to think about the problem.
채택된 답변
Rafael Hernandez-Walls
2020년 2월 18일
A=[2 2 3 ;
2 4 2;
2 3 2];
[r,c]=find(A==min(A))
추가 답변 (1개)
Steven Lord
2020년 2월 18일
Do you need the locations or do you simply need to refer to the locations where the specified value occurs? Those are two slightly different things. If the latter, you don't need to use find and don't need to compute the indices at all.
Use logical indexing.
A = [2 2 3 ; 2 4 2; 2 3 2]
B = A; % Make a copy of A for future reference
two = A == 2 % Create a logical mask
B(two) = -1 % Replace all 2's in (the copy of) A with -1
In this example, I don't care where the 2's were in A. I only cared that I could change those elements.
댓글 수: 4
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!