What's the difference between & and && in MATLAB?

logical-operators, matlab, short-circuiting

Solution

The single ampersand & is the logical AND operator. The double ampersand && is again a logical AND operator that employs short-circuiting behaviour. Short-circuiting just means the second operand (right hand side) is evaluated only when the result is not fully determined by the first operand (left hand side)

A & B (A and B are evaluated)

A && B (B is only evaluated if A is true)

Problem

What is the difference between the `&` and `&&` logical operators in MATLAB?

Original source