我在MATLAB中有一个A具有RGB值的矩阵,可以说
A = [1 2 3;
4 5 6;
7 8 9]
Run Code Online (Sandbox Code Playgroud)
矩阵B可以说
B = [1 2 3;
2 2 2]
Run Code Online (Sandbox Code Playgroud)
现在我想删除的所有行B的A。
结果将是:
A* = [4 5 6;
7 8 9]
Run Code Online (Sandbox Code Playgroud)
如何在MATLAB中有效地完成此任务?
小智 5
要查找B中存在A的哪些行:
rowmatches = ismember(A,B,'rows')
Run Code Online (Sandbox Code Playgroud)
上面给出了二进制矢量,其长度为A中行数的长度。然后,您可以查询不在B中的A行的子集:
output = A(~rowmatches,:)
Run Code Online (Sandbox Code Playgroud)