我们有一个值数组,我们想创建另一个数组,其值不在第一个数组中。
例子:
load('internet.mat')
第一列包含以 MB 为单位的值,我们曾想过这样的事情:
MB_no = setdiff(v, internet(:,1))
其中 v 是一个 0 向量,其长度等于 internet.mat 中的行数。但它只是行不通。
那么,我们该怎么做呢?
我们有一个值数组,我们想创建另一个数组,其值不在第一个数组中。
例子:
load('internet.mat')
第一列包含以 MB 为单位的值,我们曾想过这样的事情:
MB_no = setdiff(v, internet(:,1))
其中 v 是一个 0 向量,其长度等于 internet.mat 中的行数。但它只是行不通。
那么,我们该怎么做呢?
您需要指定可能值的范围以定义哪些值不在internet
. 说范围v = 1:10
然后setdiff(v,internet(:,1))
会给你1:10
不在第一列中的值internet
。
假设internet(:,1)
只有正整数,并且您希望找到哪些整数[1,...,max( internet(:,1) )]
没有出现在该范围内,您可以简单地做
app = [];
app( internet(:,1) ) = 1;
MB_no = find( app == 0 );
这有点像桶排序。
好像您不想要第一列。你可以简单地做:
MB_no=internet(:,2:end);