如何找出有多少集只有另一组的元素

时间:2011-12-12 13:05:45

标签: matlab set elements

我正在寻找一种有效的方法来确定在Matlab中有多少组由另一组元素组成。

实施例: U = {[1 2],[2 3],[3 4],[4 5],[5 6],[6 7],[1 7],[1 9],[3 9],[6 8],[8 9],[4 9],[5 8]}; V = [1 2 3 4 9];

[1 2],[2 3],[3 4],[1 9],[3 9],[4 9]所以答案:6套由V组元素组成

如何获得?

2 个答案:

答案 0 :(得分:2)

 U2=U(cellfun(@(x) all(ismember(x,V)),U));

结果是:

 U2{:}

ans =
     1     2
ans =
     2     3
ans =
     3     4
ans =
     1     9
ans =
     3     9
ans =
     4     9

答案 1 :(得分:0)

您可以使用逻辑索引来解决此问题:

U={[1 2],[2 3],[3 4],[4 5],[5 6],[6 7],[1 7],[1 9],[3 9],[6 8],[8 9],[4 9],[5 8]};
V=[1 2 3 4 9];
Um=cell2mat(U');
A=Um(ismember(Um(:,1),V)&ismember(Um(:,2),V),:);