【问题标题】:Create inverse logical array in Matlab在 Matlab 中创建逆逻辑数组
【发布时间】:2010-09-14 18:31:17
【问题描述】:

我有一个逻辑数组 isLand,如果索引在陆地上则为 true,如果索引不在陆地上(如海洋)则为 false。如何轻松创建另一个逻辑数组 isOcean,它是 isLand 的倒数。 isLand 中的所有值都将在 isOcean 中为零,反之亦然。

我知道我可以使用 for 循环来做到这一点,但我觉得有更好的方法。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    只需使用逻辑NOT 运算符:

    isOcean = ~isLand;
    

    简单的柠檬榨汁! ;)

    【讨论】:

    • 很好的答案,我打算使用find 功能,这要好得多
    【解决方案2】:

    正如 gnovice 告诉你的,~(not 运算符)当然是正确的答案,但你也可以使用

    isOcean = isLand == 0;
    

    这应该也可以:

    isOcean = xor(1,isLand);
    

    在 MATLAB 中总是有几种方法可以解决任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      相关资源
      最近更新 更多