MATLAB: I want to compare three logics should I used && or || or any other way to do that ????

I want to compare three logics should I used && or or any other way to do that ?????

Best Answer

The | operator acts like or(), while || requires scalar arguments:
a = 1
b = 0
A = false(1, 4);
B = true(1, 4);
or(a, b) % correct


a | b % correct, but this is faster:
a || b % correct and efficient
A || B % fail
or(A, B) % correct
A | B % correct
The same for &&. The || and && operator apply a short-curcuiting: If the first operand determines the output alread like in 0&&1, the second is not evaluated. This matters, if the operands are functions:
str = 'asd';
if length(str > 3) && str(4) == 'f' % Handles 'asd' correctly!