开发者

MATLAB: how to delete elements of cell array A from cell array B?

I have two cell arrays of strings A and B that hold 60 and 400 subject names, respectively. All the subjects in cell array A are also in cell array B. What I would like to d开发者_JAVA技巧o is to delete the subjects listed in cell array A from cell array B to arrive at cell array C, that holds only the subjects I want to work with.


If you don't care about the result being sorted, you can use the function SETDIFF:

C = setdiff(B, A);

If you need the result in the same order as the original cell array B with the names from A removed, you can use the function ISMEMBER:

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

UPDATE: In newer versions of MATLAB, an additional argument has been added to SETDIFF to control the output element sorting. To maintain the original order, you can now do this:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜