2012-05-13 4 views
1

나는 크기가 Px1 (P < = N) 인 매트릭스 크기 Nx2 (x, y 좌표 포함) 관심 있어요 예 :.matlab - x의 원소 인덱스 찾기

x = [10 3; 21 9; 98 54; 4 30; 37 12]; 
c = [4 98]; 

난 (상기 경우에 [4 3]) c의 요소의 좌표를 얻으려면. 어떻게해야합니까? 나는 c이 1x1 매트릭스 (스칼라) 일 때만 방법을 발견했습니다.

답변

3

ismember은 여러 값의 구성원을 테스트하는 데 사용할 수 있습니다. N x 2 행렬을 슬라이스하여 x 좌표 만 검색 할 수 있습니다.

coords = [1 2; 3 4; 5 6; 7 8]; 
c = [3 7 99]; 
[v i] = ismember(c, coords(:, 1)); 
i = 
    [2 4 0]  

ic의 값은으로 표시 인덱스 함유한다 coords에 X 좌표를, 또는 상기 요소가 발견되지 않는 경우 0. 최근 버전의 Matlab을 사용하는 경우 v~으로 바꿀 수 있습니다.

+0

이 문제는 x에 나타나는 것과 동일한 순서로 색인을 반환하지 않는다는 점에서 문제가 있습니다. – s5s

+0

'c'순으로 반환합니다. 'i = sort (i)'를 사용하여 x의 순서로 얻을 수 있습니다. – Richante

관련 문제