При логическом коротком замыкании второй операнд, expr2, оценивается только тогда, когда результат не полностью определен первым операндом, expr1.
Из-за свойств логических AND и OR результат логического выражения иногда полностью определяется перед оценкой всех условий. Логическое and оператор возвращает логический 0 (false), если даже одно условие в выражении имеет значение false. Логическое or оператор возвращает логический 1 (true), если даже одно условие в выражении верно. Когда оценка логического выражения завершается раньше, встречая одно из этих значений, выражение, как говорят, имеет короткое замыкание.
Например, в выражении A && B, MATLAB ® не оценивает состояниеB вообще, если условие A имеет значение false. Если A имеет значение false, то значение B не изменяет результат операции.
При использовании элемента & и | операторов в контексте if или while выражение цикла (и только в этом контексте), они используют короткое замыкание для вычисления выражений.
Примечание
Всегда использовать && и || операторы для обеспечения возможности оценки короткого замыкания. Использование & и | операторы для короткого замыкания могут давать неожиданные результаты, когда выражения не вычисляются до логических скаляров.