我想知道是否有一个更简单,更好的解决方案来切换两个值之间的变量而不是(确定我可以写一个m函数但不知何故我感觉有一些内置在matlab中,但我找不到谷歌搜索matlab toggle
)
if(x == 0)
x = 1;
else
x = 0;
end
感谢
答案 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;