【问题标题】:Delete row in a matrix Matlab删除矩阵Matlab中的行
【发布时间】:2013-08-12 22:59:47
【问题描述】:

我有两个矩阵A“只有一列”和B,它有多个列,但行数与A 相同,如下所示,我想做的是检查行在 A 中元素等于 -1 并从矩阵 A 和 B 中删除删除该行,所以在下面的示例中,我想从矩阵 A 和 B 中删除行索引 3 和 6,有什么建议吗?

A=  6
    3
    -1
    6
    6
    -1
    2
    4

and B= -0.511774504646677   0.435674206557952   1.07400000000000
-0.509871997194459  0.437576714010170   1.07400000000000
-0.507969489742241  0.439479221462388   1.07400000000000
-0.506586007364545  0.429374013677012   1.07100000000000
-0.504201297562686  0.439754515167456   1.07100000000000
-0.501883219358233  0.428847974750132   1.07100000000000
-0.501415044713309  0.431930562861652   1.07100000000000
-0.499537085744345  0.433808521830616   1.07100000000000

【问题讨论】:

    标签: matlab


    【解决方案1】:

    使用基于A的逻辑索引:

    B=B(A~=-1,:);
    A=A(A~=-1);
    

    【讨论】:

      【解决方案2】:

      与已经提出的几乎相同,但没有两次计算相同的索引。如果您更改更改AB 的顺序,这也不会失败。

      idx = A~=-1;
      A = A(idx);
      B = B(idx);
      

      【讨论】:

        猜你喜欢
        • 2012-06-17
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多