如何获得另一个阵列“补充”?

时间:2014-02-09 23:54:30

标签: arrays matlab complement

我最简单的方式来解释我想要的是一个例子:

a = 1:20

b = [2,7,12,18]

现在我希望c [1,3,4,5,6,8,...,19,20]长度为16length(a) - length(b)当然。

我有办法获得c吗?

2 个答案:

答案 0 :(得分:5)

您可以使用x(3)=[]

删除数组元素
c=a;
c(b)=[];

答案 1 :(得分:4)

在大多数语言中,您想要的是设置差异。在MATLAB中,您可以使用setdiff函数:

a=1:20;
>> b=[2,7,12,18];
>> setdiff(a,b);

ans =

Columns 1 through 11

 1     3     4     5     6     8     9    10    11    13    14

Columns 12 through 16

15    16    17    19    20