MATLAB:快速反转布尔值

时间:2012-02-02 16:54:30

标签: matlab boolean

是否有一种比以下更快的方式将“真或假”翻转到其相反的状态?

if x == true
 x = false;
else
 x = true;
end

是的,也许只有五行代码无需担心,但看起来更像这样的东西会非常棒:

x = flip(x);

3 个答案:

答案 0 :(得分:17)

您可以执行以下操作:

x = ~x;

答案 1 :(得分:6)

你可以使用否定声明。 我无法记住它在matlab中是如何工作的,但我认为它类似于

x = ~x;

答案 2 :(得分:6)

Franck的答案更好(使用〜),但我只想指出你的中的条件有点多余。很容易忘记,因为你已经有了一个布尔值,所以你不需要在条件中进行比较。所以你可以做到这一点......

if x
  x = false;
else
  x = true;
end