我正在寻找一种有效的方法来确定在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组元素组成
如何获得?
答案 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),:);