A = {[1 2 3 4],[22 55 78 84],[50 21 98 71],[10 15 16]};
B = {[2 4],[20 30 55],[16 15 10],[22 55 78]};
如何从属于A的单元格B中删除所有向量或从A中包含在一个向量中的向量?
我的示例所需的结果
out = {[20 30 55]}
答案 0 :(得分:3)
单行:
out = B(~cellfun(@(y) any(cellfun(@(x) all(ismember(y,x)), A)), B));
代码的解释只是说你要求的内容:内部cellfun
检测B
的向量是否被A
的一个向量完全包含,外cellfun
汇总了所有B
向量的结果。生成的逻辑向量(B
的大小)被否定,因为您需要B
唯一的向量,而不是A
中“嵌入”的向量。