【发布时间】:2015-01-06 17:23:25
【问题描述】:
我对此进行了搜索,但只能在行号已知时找到答案。
我有一个 N x 4 矩阵,并试图根据第二列和第一列中的特定值删除行。
最初,我通过根据我不想要的值过滤矩阵,然后将其从初始矩阵中删除,这显然不是我想要的结果。 (见下文)
days = [669 680 298 299];
ind = ismember(B(:,2),days);
D = B(ind,:);
C=[B;-D];
我假设有一种非常相似的删除行的方法,而不是过滤它们? 如果您能以任何方式帮助我,将不胜感激!
编辑:
输入:
1002 101 04 92
1002 12 12 298
1002 298 12 589
1002 680 12 589
输出:
1002 101 04 92
1002 12 12 298
我不能使用行号,因为矩阵有数百万行
【问题讨论】:
-
发布一个带有输入和所需输出的小例子
-
你的标准是什么?
-
删除第二列中的值等于“天”数组中列出的值的行。
-
您提到在第二列然后在第一列进行过滤。您的代码示例不会沿第一列过滤。另外,如果这个矩阵已经适合内存,为什么不能使用行号?
-
我不知道数据的所有行号。提供的代码只是一个示例,我没有包含用于过滤第一列的代码,因为它需要与第二列几乎相同的功能。