2013-03-05 2 views
2

는 I 매트릭스를 가지고다른 배열과 비교하여 배열의 요소를 찾는

a = [ 1 'cancer' 
     2 'cancer' 
     3 'cancer' 
     4 'noncancer' 
     5 'noncancer' ] 

I 값

이제 I 값과 B 행렬 값을 비교해야
b = [ 4 
     5 
     2 ] 

와 다른 행렬이 의 출력이 있어야합니다

output = [ 4 'noncancer' 
      5 'noncancer' 
      2 'cancer'] 

어떻게해야합니까?

+1

'a'는 셀 배열이고 **는 매트릭스가 아닙니다. – Shai

답변

5

당신은 ismember 사용할 수 있습니다

a = { 1 'cancer' 
     2 'cancer' 
     3 'cancer' 
     4 'noncancer' 
     5 'noncancer' }; 

    b = [ 4 
     5 
     2 ]; 

a(ismember([a{:,1}], b),:) 

이 (후속 질문의 요청에 따라 : In the same order, finding an element in an array by comparing it with another array) b을 사용하여 지정된 순서에 결과를 표시하려면

ans = 

    [2] 'cancer' 
    [4] 'noncancer' 
    [5] 'noncancer' 

결과

[logicIDX, numIDX] = ismember(b, [a{:,1}]); 
a(numIDX, :) 

결과는 다음과 같습니다.

ans = 

    [4] 'noncancer' 
    [5] 'noncancer' 
    [2] 'cancer' 
관련 문제