标签: matlab
我正在寻找一种matlab方法。循环似乎很容易。我有两个向量,比如a = [1 2 3]和b = [1 54 2 4 6 3]。我想确定a是否是b的子集。这是怎么做到的?
a = [1 2 3]
b = [1 54 2 4 6 3]
a
b
答案 0 :(得分:9)
最简单,最快捷的方法可能是使用ISMEMBER和ALL函数:
isSubset = all(ismember(a, b));
您也可以使用SETDIFF和ISEMPTY,但这似乎效率较低(它的运行速度比R2010b中的上述速度慢一点):
isSubset = isempty(setdiff(a, b));
答案 1 :(得分:0)
您也可以对两个集合进行交叉,看看它是否为空。 C = intersect(A,B)返回A和B共同的数据,没有重复。