将英语逻辑语句翻译成MatLab语句

时间:2018-01-25 23:30:38

标签: matlab command logic

以下是提示:满足以下两个条件之一的声明:(1)R为真且Q为假或(2)P或R为真但不是两者。所有其他条件都是错误的。

我是MatLab的新手,所以我尝试的是: R&问| XOR(P,R)

我认为我得到了P和R部分,但我不确定R和Q.R必须为真且Q必须为假才能使1为真吗?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我会将其翻译如下:

(R & ~Q) | xor(P,R)

正如你所说,你的陈述的第二部分是正确的。但在第一个中,您必须检查R = trueQ = false。在Matlab中,使用波形符not(参考here)执行~运算符。有关逻辑运算符的更多信息,请阅读官方文档的this part

单个逻辑运算符适用于使用逻辑变量执行操作,尤其是索引,这是在Matlab中执行的非常频繁的操作。如果要将这些条件用于if语句,则必须按如下方式编写它们:

if ((R && ~Q) || xor(P,R))
    % do something
end