0

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

例子:

load('internet.mat') 

第一列包含以 MB 为单位的值,我们曾想过这样的事情:

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

其中 v 是一个 0 向量,其长度等于 internet.mat 中的行数。但它只是行不通。

那么,我们该怎么做呢?

4

3 回答 3

1

您需要指定可能值的范围以定义哪些值不在internet. 说范围v = 1:10然后setdiff(v,internet(:,1))会给你1:10不在第一列中的值internet

于 2013-02-13T11:26:23.677 回答
0

假设internet(:,1)只有正整数,并且您希望找到哪些整数[1,...,max( internet(:,1) )]没有出现在该范围内,您可以简单地做

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

这有点像桶排序

于 2013-02-13T12:14:07.287 回答
0

好像您不想要第一列。你可以简单地做:

MB_no=internet(:,2:end);
于 2013-02-13T11:17:00.830 回答