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

Arrays 如果第一个元素在数组中,则删除矩阵行,arrays,matlab,matrix,Arrays,Matlab,Matrix,如果行中的第一个元素包含in数组,我将尝试删除该行 我得到了矩阵: A = [ 1 2; 1 5; 2 3; 3 4; 3 5; 4 5 ]; 和数组 B = [1,2,3] 在ex中,我正在克隆A到X X = A 在选择之后,我应该得到: X = [4 5] 我试过这样做: X(:, 1 == any(B)) = []; 您可以使用ismember检查A(A(:,1))的第一列中的值是否在B中,然后使用生成的逻辑数组选择A中不在B中的行,并将它们分配给X X = A(~ismembe

如果行中的第一个元素包含in数组,我将尝试删除该行

我得到了矩阵:

A = [ 1 2; 1 5; 2 3; 3 4; 3 5; 4 5 ];
和数组

B = [1,2,3]
在ex中,我正在克隆A到X

X = A
在选择之后,我应该得到:

X = [4 5]
我试过这样做:

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

您可以使用
ismember
检查
A
A(:,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), :);

您可以使用
ismember
检查
A
A(:,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), :);

另外,是否可以检查第一个或第二个元素是否为成员?@sphynx是否只需要第一个或第二个元素或行中的任何元素?行中有两个元素,因此我需要知道任何(第一个或第二个或两个)元素是否为数组的成员。另外,是否可以检查第一个或第二个元素是否为成员?@sphynx是否只需要第一个或第二个元素或行中的任何元素?行中有两个元素,因此我需要知道任何(第一个或第二个或两者)元素是否为数组的成员。