2013-06-06 2 views
1

행렬의 값이 [8,8] 인 행렬에서 최대 값/s의 좌표 집합을 찾는 방법을 찾으려고합니다. 0 ~ 6 (나머지 스크립트/함수를 통해 생성됨).행렬의 최대 값 좌표 찾기

즉 값 1이 [3,3], [3,5] 및 [5,3]에있는 0의 행렬입니다. 그리고 ([3,3], [3,5], [5,3]) 줄을 따라 반환하고 싶습니다 나는 ind2sub 등등을 사용했지만 행운이 없었습니다. [I, J] = [[00305000], [1,1,1,1,1,1,1,1]]와 같이 반환되는 항목

아이디어가 있으십니까? 더 많은 설명이 필요한 경우 필요한 부분 만 지적하면됩니다.

답변

3

max과 관련된 문제는 한 차원에서 작동하기 때문입니다. 기본 매개 변수를 사용하여 행렬에서 호출하는 경우 행렬의 각 열에 대해 단일 최대 요소 (및 인덱스)를 반환합니다. 귀하의 경우, 당신은 모두 최대 값, 그리고 그 전역 최대 값을 원합니다.

이 시도 :

[I,J] = find(M == max(M(:))) 

먼저 max(M(:))은 우리가 최대되는 논리 소자 매트릭스를 구성 M == max(M(:)) 보여주는 최대 요소를 찾는다. 마지막으로 find을 사용하여 해당 좌표의 좌표를 얻을 수 있습니다 (필요한 경우).