【问题标题】:Copy to and delete from matrices复制到矩阵和从矩阵中删除
【发布时间】:2014-10-31 23:34:16
【问题描述】:

不确定这个问题是否有效。但最好问问。

假设我们在 MATLAB 中有两个大小为 (n,1) 和 (m,1) 的矩阵,并且我们想在某个条件下将某些行从矩阵 A 复制到矩阵 B。

例如如果值 A(i,1) 小于或等于 X

然后从源矩阵(即矩阵 A)中删除这些行

例子:

A = [1, 2, 3, 4, 5, 6]

B = [8, 9]

将所有小于或等于4的值从A复制到B,并从A中删除 矩阵变成了

A = [5, 6]

B = [8, 9, 1, 2, 3, 4]

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    您可以使用逻辑矩阵来识别项目:

    mask = (A <= 4);
    B = [B A(mask)];
    A(mask) = [];
    

    【讨论】:

    • 宾果游戏,就像一个魅力。快速而漂亮的方法。老实说,我不知道口罩的用途。
    • @Indigo:mask是一个变量名,它只是存储了矩阵比较创建的逻辑矩阵。
    • 没错,逻辑矩阵。选词错误。谢谢:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 2021-11-14
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多