【问题标题】:Removing all rows from matrix A in matrix B从矩阵 B 中的矩阵 A 中删除所有行
【发布时间】:2019-09-17 16:43:54
【问题描述】:

我在 MATLAB 中有一个矩阵 A,可以说是 RGB 值

A = [1 2 3;
     4 5 6;
     7 8 9]

还有一个矩阵 B 可以说

B = [1 2 3;
     2 2 2]

现在我想从A 中删除B 的所有行。

结果是:

A* = [4 5 6;
      7 8 9]

如何在 MATLAB 中有效地做到这一点?

【问题讨论】:

    标签: arrays matlab matrix


    【解决方案1】:

    要查找 A 的哪些行存在于 B 中:

    rowmatches = ismember(A,B,'rows')
    

    上面给出了一个二进制向量,它是 A 中行数的长度。然后您可以要求 A 中不在 B 中的行的子集:

    output = A(~rowmatches,:)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-20
      • 2017-04-20
      • 2017-10-31
      • 2017-09-26
      • 1970-01-01
      • 2021-11-14
      • 2018-06-29
      • 2018-10-19
      相关资源
      最近更新 更多