Matlab 如何从单元格B中删除属于a或包含在a的一个向量中的所有向量?
如何从单元格B中删除属于a或包含在a的一个向量中的所有向量 我的示例所需的结果Matlab 如何从单元格B中删除属于a或包含在a的一个向量中的所有向量?,matlab,cell-array,Matlab,Cell Array,如何从单元格B中删除属于a或包含在a的一个向量中的所有向量 我的示例所需的结果 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]}; 一行: out = {[20 30 55]} 对代码的解释就是用你要求的话来说:内部cellfun检测B的向量是否完全包含在a的向量中,外部cellfun为所有B向量组合这些结果。生成的逻辑向量(B的大小)被取反
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]};
一行:
out = {[20 30 55]}
对代码的解释就是用你要求的话来说:内部cellfun
检测B
的向量是否完全包含在a
的向量中,外部cellfun
为所有B
向量组合这些结果。生成的逻辑向量(B
的大小)被取反,因为您想要的是B
唯一的向量,而不是A
中“嵌入”的向量
out = B(~cellfun(@(y) any(cellfun(@(x) all(ismember(y,x)), A)), B));