MATLAB逻辑运算符:&& vs&

Cap*_*rog 3 matlab operands

如果我想确保if只有两个条件的两个条件都为真时才执行一个语句,我应该使用&还是&&在语句的子句之间?

例如,我应该使用

if a == 5 & b == 4
Run Code Online (Sandbox Code Playgroud)

要么

if a == 5 && b == 4
Run Code Online (Sandbox Code Playgroud)

我知道前者是元素,后者是短路的,但我不明白这意味着什么.

sve*_*rre 5

对于标量布尔条件,我建议你使用&&.短路意味着如果第一个条件为,则不评估第二个条件,但是无论如何您都知道结果是假的.只有当表达式的两边都为真时,才会有一个&或者&&一个为真,但&如果其中一个操作数是矩阵,则可以返回矩阵结果.

另外,我相信Matlab的比较应该完成==,而不是=(赋值).