删除最后一列中包含0.00 ..的特定行

时间:2013-12-24 10:37:42

标签: matlab

有没有办法可以在MATLAB中删除数据数组中的特定行?什么是最好的调查指令?

2 个答案:

答案 0 :(得分:0)

a =

     1     2     3
     4     5     0
     7     8     9
    10    11     0

然后

a(a(:,end)~=0,:)

返回a的行,这些行不以0结尾,因此您可以写

a = a(a(:,end)~=0,:)

我可能还没有看到更简单的方法,但不要担心很快会有Matlab专家。

答案 1 :(得分:0)

您应该查看逻辑索引和[]。我没有MATLAB,但我认为这应该有效:

A(A(:, end) == 0, :) = [];

A(:, end) == 0查找最后一列为零的所有行。 []用于删除这些行。

如果您无法保证这些值完全为零,则不应使用==,而应使用<>。如果您只有正数和零,则可以使用< tol,其中tol是您想要比较的小数字。

您也可以采取其他方式,例如:

A = A(A(:, end) ~= 0, :);