如果第一个元素在数组中,则Matlab删除矩阵行

时间:2016-11-28 19:09:36

标签: arrays matlab matrix

如果该行中的第一个元素包含在数组中,我试图删除该行。

我是矩阵:

A = [ 1 2; 1 5; 2 3; 3 4; 3 5; 4 5 ];

和数组

B = [1,2,3]

在前。我克隆了A到X

X = A

选择之后,我应该得到:

X = [4 5]

我尝试过这样的事情:

X(:, 1 == any(B)) = [];

1 个答案:

答案 0 :(得分:3)

您可以使用ismember检查AA(:,1))第一列中的值是否在B中,然后使用生成的逻辑数组来选择A以外的B行,并将其分配给X

X = A(~ismember(A(:,1), B),:);

<强>更新

如果您想检查第一个或第二个元素是否在B中,您可以执行以下操作

X = A(~any(ismember(A:,1:2), B), 2), :);

或者更简单地说,如果你只有两列

X = A(~any(ismember(A, B), 2), :);