ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

all

すべての配列要素が非ゼロか true かを判定

構文

B = all(A)
B = all(A,'all')
B = all(A,dim)
B = all(A,vecdim)

説明

B = all(A) は、サイズが 1 ではない A の最初の配列の次元に沿ってテストし、要素がすべて非ゼロまたは logical 1 (true) であるかどうかを判別します。実際、all は論理 AND 演算子も自然に拡張したものです。

  • A がベクトルで、すべての要素が非ゼロの場合、all(A) は logical 1 (true) を返します。ベクトルの 1 つまたは複数の要素がゼロであれば、logical 0 (false) を返します。

  • A が空でない行列である場合、all(A)A の列をベクトルとして扱い、logical 1 および 0 の行ベクトルを返します。

  • A が空の 0 行 0 列の行列である場合、all(A) は logical 1 (true) を返します。

  • A が多次元配列の場合、all(A) は、サイズが 1 でない最初の配列次元に沿って作用し、論理値からなる配列を返します。この次元のサイズは 1 になりますが、他のすべての次元のサイズは同じままです。

B = all(A,'all')A のすべての要素にわたってテストします。

B = all(A,dim) は、次元 dim に沿って要素をテストします。dim 入力は、正の整数のスカラーです。

B = all(A,vecdim) はベクトル vecdim に指定された次元に基づいて要素をテストします。たとえば、A が行列の場合、all(A,[1 2])A のすべての要素をテストします。これは、次元 1 と次元 2 で定義された配列スライスに行列内のすべての要素が含まれるためです。

すべて折りたたむ

3 行 3 列の行列を作成し、各列のすべての要素が非ゼロかどうかをテストします。

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

B = all(A)
B = 1x3 logical array

   0   0   1

10 進数の値のベクトルを作成し、0.5 未満の値をテストします。

A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
B = (A < 0.5)
B = 1x7 logical array

   0   0   1   1   1   1   0

出力は、論理値のベクトルです。関数 all は、このような logical 値のベクトルを 1 つの条件にまとめます。この場合、B = all(A < 0.5) は、logical 0 を返します。

このため、all は特に if ステートメントで便利です。

if all(A < 0.5)

%do something

else

%do something else

end

コードは、矛盾する条件を取る可能性のあるベクトルでなく、単一条件に従って実行されます。

3 x 7 x 5 の多次元配列を作成し、その要素のすべてが 3 未満であるかどうかテストします。

A = rand(3,7,5) * 5;
B = all(A(:) < 3)
B = logical
   0

ゼロより大きい要素の配列もテストできます。

B = all(A(:) > 0)
B = logical
   1

構文 A(:) は、A の要素を 1 つの列ベクトルに変換するため、このタイプのステートメントはどのサイズの配列でも使用できます。

3 行 3 列の行列を作成します。

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

dim = 2 を指定して、A の各行がすべて非ゼロ要素かどうかをテストします。

B = all(A,2)
B = 3x1 logical array

   0
   0
   0

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
複素数のサポート: あり

演算の対象の次元。正の整数のスカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。

2 次元の入力配列 A について考えます。

  • all(A,1) は、A の列の連続する要素に作用し、論理値の行ベクトルを返します。

  • all(A,2) は、A の行の連続する要素に対して有効で、論理値の列ベクトルを返します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

次元のベクトル。正の整数のベクトルとして指定します。各要素は入力配列の次元を表します。指定された操作次元の出力の長さは 1 で、その他は同じままです。

2 x 3 x 3 の入力配列 A を考えます。この場合、all(A,[1 2]) は、A の各ページの非ゼロ値を示す要素をもつ 1 x 1 x 3 の配列を返します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

スカラー、ベクトル、行列または多次元配列として返される logical 配列。all により動作する A の次元のサイズは、B では 1 です。

拡張機能

R2006a より前に導入