主要内容

短路或,| |

逻辑或短路

描述

expr1| |expr2表示一个逻辑操作,使用逻辑短路的行为。也就是说,expr2不评价expr1是合乎逻辑的1(真正的)。每个表达式必须评估一个标量的逻辑结果。

例子

全部折叠

创建两个向量。

X = (1 0 0 1 1);Y = [0 0 0 0 0);

使用短路或操作符XY返回一个错误。短路运算符只能与标量逻辑条件。

使用任何所有函数来减少每个向量一个逻辑条件。

任何(X) | |所有(Y)
ans =逻辑1

表达式是等价的1或0,所以它等于逻辑1(真正的只计算第一个条件后),任何(X)

输入参数

全部折叠

逻辑表达式,指定为任何有效的MATLAB®表达式,表达式的计算结果为逻辑标量。

例子:isscalar (x) | | isvector (x)

例子:(x > 1) | | (x < 1)

数据类型:逻辑

更多关于

全部折叠

逻辑短路

逻辑短路,逻辑表达式可以提前终止的评价结果完全确定。由于属性的逻辑,或逻辑表达式的结果有时是完全确定之前评估的所有条件:

  • 逻辑操作符返回逻辑0()如果连一个条件表达式是错误的。

  • 逻辑操作符返回逻辑1(真正的)如果连一个条件表达式是正确的。

当评估一个逻辑表达式终止早期遇到这些值之一,据说表达式短路。使用得当,这种技术使您能够执行复杂的代码中比较有效。

例如,在表达式& & B,MATLAB不评估条件B如果条件一个是假的。一旦确定一个的价值,是假的吗B不能改变操作的结果。

提示

  • 当你使用element-wise&|运营商的上下文如果循环表达式(只有在这种情况下),他们用短路计算表达式。

    然而,您应该使用& &| |运营商,使短路评估。使用&|运营商对短路时能产生意想不到的结果表达式不评估逻辑标量。

扩展功能

版本历史

之前介绍过的R2006a