2012-09-20 4 views
2

간단한 질문이 있습니다.matlab : 두 행렬에 공통된 값의 인덱스 찾기

내가 A.에서의 값으로 동일한 데이터의 값의 인덱스를 갖고 싶어
data = [1 1 2 2 2 2 3 3 3 4 4 4 4 4 5 5 5 5 6 6 6]; 
A = [1 3 6]; 

그것에 대해

즉 대답이 될 것입니다 : 1, 2

우리가 두 개의 배열을 가지고 말할 수 , 7, 8, 9, 19, 20, 21

for 루프를 사용하지 않고 A에서 하나씩 값을 스캔하는 방법. 감사합니다. Art.

답변

8

이 정확하게 작업을 수행합니다

inds = find(ismember(data, A)) 

기능 ismemberAdata의 모든 요소를 ​​찾을 수 있습니다. ismember의 제 2 출력은 또한 유용 할 수있다 다음 1, 23A의 인덱스를 참조

>> [~, b] = ismember(data, A)) 
ans = 
    1 1 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 3 3 

.

+0

위대한! 대답 끝 설명 주셔서 감사합니다 :) – Art

관련 문제