【问题标题】:Replace all values of matrix where another matrix is false (0)替换矩阵的所有值,其中另一个矩阵为假 (0)
【发布时间】:2014-03-02 10:33:03
【问题描述】:

我有矩阵AB。我想将A 中的所有值设置为0,其中Bfalse(具有0 作为值)。我怎样才能以最好的方式做到这一点?

A 和 B 的大小相同。

【问题讨论】:

    标签: matlab matrix indexing


    【解决方案1】:

    使用布尔运算符,假设 A 和 B 的大小相同,但它们不必是相同的数据类型

    A(~B) = 0
    

    更多信息here

    【讨论】:

      【解决方案2】:

      使用0 查找B 的所有索引,并将A 中的这些索引设置为0

      >>A(B == 0) = 0
      

      【讨论】:

        【解决方案3】:

        要查看到底发生了什么,您也可以使用它

        size=size(im);
        
        for x=1:size(1)
            for y=1:size(2)
                if B(x,y)==0;
                    A(x,y)=0;
                end
            end
        end
        

        【讨论】:

          猜你喜欢
          • 2020-08-08
          • 2018-11-23
          • 2012-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-10
          • 1970-01-01
          相关资源
          最近更新 更多