Matlab数组操作

om *_*afa 2 matlab

我有两个不同大小的数组a和b.每个都包含唯一值.

我想比较这两种,如果阵列中的任何值在数组b,那么我想从B(例如删除a = [2 3 5],b = [1 8 6 2 3 7]导致b = [1 8 6 7]).

如何在Matlab中实现?

Ric*_*ton 7

使用setdiff发现,在一组而不是其他因素.

setdiff(b, a)
Run Code Online (Sandbox Code Playgroud)


Ita*_*atz 5

使用intersect3个输出参数来获取要删除的元素的索引:

[c, ia, ib] = intersect(a, b);
b (ib) = [];
Run Code Online (Sandbox Code Playgroud)