【问题标题】:Translating an English logic statement to a MatLab one将英语逻辑语句翻译成 MatLab 语句
【发布时间】:2018-01-25 23:30:38
【问题描述】:

这里是提示:如果满足两个条件之一的语句:(1)R 为真,Q 为假,或(2)P 或 R 为真,但不能同时为真。所有其他条件均为假。

我是 MatLab 的新手,所以我尝试的是: 问答 |异或(P,R)

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

感谢任何帮助。

【问题讨论】:

  • 感谢您的回答。例如,如果 R 为假,P 为真,那么整个陈述为真,对吧?

标签: matlab command logic


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多