标签: string matlab cell-array
我有两个字符串A和B的单元格数组,分别包含60和400个主题名称。单元格数组A中的所有主题也位于单元格数组B中。我想要做的是从单元格数组A中删除单元格数组B中列出的主题,以到达单元格数组C,它只包含我想要使用的主题。
A
B
C
答案 0 :(得分:7)
如果您不关心正在排序的结果,可以使用函数SETDIFF:
C = setdiff(B, A);
如果您需要的结果与原始单元格数组B的顺序相同,且A的名称已删除,则可以使用函数ISMEMBER:
C = B(~ismember(B, A));
UPDATE:在较新版本的MATLAB中,为SETDIFF添加了一个额外的参数来控制输出元素的排序。要维护原始订单,您现在可以执行以下操作:
C = setdiff(B, A, 'stable');