互补数组Matlab

时间:2013-02-13 10:59:00

标签: matlab

我们有一个值数组,我们想创建另一个数组,其值不在第一个数组中。

示例:

load('internet.mat') 

第一列包含以MB为单位的值,我们在以下方面考虑过:

MB_no = setdiff(v, internet(:,1))

其中v是0向量,其长度等于internet.mat中的行数。但它只是不起作用。

那么,我们该怎么做呢?

3 个答案:

答案 0 :(得分:1)

您需要指定可能值的范围,以定义internet中不包含的值。假设范围为v = 1:10,则setdiff(v,internet(:,1))将为1:10中的值提供不在internet第一列中的值。

答案 1 :(得分:0)

好像你不想要第一列。 你可以这样做:

MB_no=internet(:,2:end);

答案 2 :(得分:0)

假设internet(:,1)只有正整数,并且您希望找到[1,...,max( internet(:,1) )]中哪些整数出现在该范围内,您只需执行

app = [];
app( internet(:,1) ) = 1;
MB_no = find( app == 0 );

这有点像 bucket sort