In many programming languages, boolean operators like AND and OR will stop evaluating as soon as the result is known. For instance,
1 | error('Short-circuit')
would never get to the error part, since the 1 is always true.
MATLAB versions >= 6.5 include the new short-circuiting logical operators | | and &&. Use these for all condition tests in loops and similar, and use the old | and & for element-by-element logical operations. You can find details here. In older versions of MATLAB, the boolean operators | and & are only short-circuit evaluated inside the conditions of IF and WHILE statements. In all other contexts, all parts of the conditional are evaluated.
[From the MATLAB FAQ of Ancient Times]
Best Answer