MATLAB:比较数组中的元素

时间:2012-11-16 11:29:50

标签: arrays matlab contains

假设有阵列A和B,两者都可以有任意数字和大小。例如

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

我想知道是否有办法检查A中的任何元素是否包含在B中而不使用循环?再一次,数组的数量和大小将是任意的,所以我不能硬编码。任何帮助和输入将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:9)

你的意思是这样的:

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

和=

0     0     0

答案 1 :(得分:1)

添加到@ NasserM.Abbasi:无论形状和大小如何,ismember都会工作,它始终是元素方面的。因此,如果您有A=[1 2; 3 4]B=[1 3; 4 2; 1 2],则 然后会员将返回:

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

根据AB中的可能形状仔细使用会员。