MATLAB:如何从单元格数组B中删除单元格数组A的元素?

时间:2010-12-11 19:01:16

标签: string matlab cell-array

我有两个字符串AB的单元格数组,分别包含60和400个主题名称。单元格数组A中的所有主题也位于单元格数组B中。我想要做的是从单元格数组A中删除单元格数组B中列出的主题,以到达单元格数组C,它只包含我想要使用的主题。

1 个答案:

答案 0 :(得分:7)

如果您不关心正在排序的结果,可以使用函数SETDIFF

C = setdiff(B, A);

如果您需要的结果与原始单元格数组B的顺序相同,且A的名称已删除,则可以使用函数ISMEMBER

C = B(~ismember(B, A));

UPDATE:在较新版本的MATLAB中,为SETDIFF添加了一个额外的参数来控制输出元素的排序。要维护原始订单,您现在可以执行以下操作:

C = setdiff(B, A, 'stable');