简化matlab代码以切换var

时间:2011-12-19 12:01:29

标签: matlab toggle

我想知道是否有一个更简单,更好的解决方案来切换两个值之间的变量而不是(确定我可以写一个m函数但不知何故我感觉有一些内置在matlab中,但我找不到谷歌搜索matlab toggle

if(x == 0)
  x = 1;
else
  x = 0;
end

感谢

3 个答案:

答案 0 :(得分:7)

有一个NOT运算符:

x = ~x;

如果您想在0和某个数字a之间切换:

x = (~x) * a;

如果您想在a和b之间切换:

x = (~(x - a)) * (b - a) + a;

答案 1 :(得分:1)

x=1 % initialize the value
x=max([0  1]-x)   % toggle it

答案 2 :(得分:0)

我同意@rmmh,虽然我认为首先将其推向逻辑上是更清晰的:

  

b =逻辑(x);
  x = ~x;