2012-11-16 211 views
1

假設有數組A和B,它們都可以有任意數量和大小。例如MATLAB:比較數組中的元素

A=[1 2 3] 
B=[4 8 52 7 10] 

我想知道是否有任何方法檢查A中的任何元素是否包含在B中而不使用循環?再次,數組的數量和大小將是任意的,所以我不能硬編碼它。任何幫助和意見,將不勝感激。謝謝!

回答

9

你的意思是這樣的:

A=[1 2 3]; B=[4 8 52 7 10] 
ismember(A,B) 

ANS =

0  0  0 
1

添加到@ NasserM.Abbasi:ismember將工作不論形狀和大小,它始終是件明智的。所以,如果你有A=[1 2; 3 4]B=[1 3; 4 2; 1 2]
然後ismember將返回:

ismember(A,B);   % -> [1 1; 1 1] due to element-wise membership check 
ismember(A,B, 'rows'); % -> [1 0] since it checks row-wise. 

使用ismember認真按照AB可能的形狀。