假设有数组A和B,它们都可以有任意数量和大小。例如MATLAB:比较数组中的元素
A=[1 2 3]
B=[4 8 52 7 10]
我想知道是否有任何方法检查A中的任何元素是否包含在B中而不使用循环?再次,数组的数量和大小将是任意的,所以我不能硬编码它。任何帮助和意见,将不胜感激。谢谢!
假设有数组A和B,它们都可以有任意数量和大小。例如MATLAB:比较数组中的元素
A=[1 2 3]
B=[4 8 52 7 10]
我想知道是否有任何方法检查A中的任何元素是否包含在B中而不使用循环?再次,数组的数量和大小将是任意的,所以我不能硬编码它。任何帮助和意见,将不胜感激。谢谢!
你的意思是这样的:
A=[1 2 3]; B=[4 8 52 7 10]
ismember(A,B)
ANS =
0 0 0
添加到@ 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认真按照A
和B
可能的形状。