メインコンテンツ

Short-Circuit OR, ||

ショートサーキットを使用した論理 OR

説明

expr1 || expr2 は、論理ショートサーキットの動作を使用した論理 OR 演算を表します。つまり、expr1 が logical 1 (true) の場合、expr2 は評価されません。それぞれの式は、スカラー logical の結果に評価されなければなりません。

すべて折りたたむ

2 つのベクトルを作成します。

X = [1 0 0 1 1];
Y = [0 0 0 0 0];

XY にショートサーキット OR 演算子を使用すると、エラーが返されます。ショートサーキット演算子は、スカラーの論理条件でのみ演算を行います。

関数 any および all を使用して、それぞれのベクトルを単一の論理条件に縮小します。

any(X) || all(Y)
ans = logical
   1

この式は 1 OR 0 と等価であるため、最初の条件 any(X) のみを計算した後、logical 1 (true) に評価されます。

入力引数

すべて折りたたむ

論理式。logical スカラーに評価される任意の有効な MATLAB® 式として指定します。

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

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

データ型: logical

詳細

すべて折りたたむ

ヒント

  • if または while ループ式のコンテキスト内で "のみ" 要素単位の & および | 演算子を使用する場合、式の評価にショートサーキットが使用されます。

    ただし、ショートサーキットの評価を有効にするには、必ず && 演算子と || 演算子を使用してください。ショートサーキットに & および | 演算子を使用すると、式の評価結果が logical スカラーにならない場合、予期しない結果が生じる可能性があります。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入