ドキュメンテーション

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

配列が論理値であるかどうかを判定

配列が論理値であるかどうかを判定するために、配列全体または各要素を個別にテストできます。これは、関数の出力データ型を確認する場合に役に立ちます。

このページでは、配列が論理値であるかどうかを判定するためのいくつかの方法を説明します。

論理行列の特定

3 行 6 列の行列を作成し、0.5 より大きいすべての要素を検出します。

A = gallery('uniformdata',[3,6],0) > 0.5
A =

     1     0     0     0     1     0
     0     1     0     1     1     1
     1     1     1     1     0     1

結果 A は、3 行 6 列の論理行列になります。

関数 whos を使用して行列 A のサイズ、バイト数およびクラス (またはデータ型) を確認します。

whos A
Name      Size            Bytes  Class      Attributes

  A         3x6                18  logical  

この結果から、A が 3 行 6 列の論理行列であることが確認できます。

配列全体のテスト

関数 islogical を使用して A が論理値かどうかをテストします。

islogical(A)
ans =

     1

結果は論理値 1 (true) です。

関数 class を使用して A のクラス名をもつ文字列を表示します。

class(A)
ans =

logical

この結果から、A が論理値であることが確認できます。

各配列要素のテスト

セル配列 C を作成し、関数 cellfun'islogical' オプションを使用して、論理値が含まれているセルを判別します。

C = {1, 0, true, false, pi, A};
cellfun('islogical',C)
ans =

     0     0     1     1     0     1

結果は、C と同じサイズの論理配列です。

数値行列のそれぞれの要素をテストするためには、関数 arrayfun を使用します。

arrayfun(@islogical,A)
ans =

     1     1     1     1     1     1
     1     1     1     1     1     1
     1     1     1     1     1     1

結果は、A と同じサイズの論理値の行列です。arrayfun(@islogical,A) は、常に、すべて論理値 1 (true) または論理値 0 (false) の行列を返します。

概要表

これらの MATLAB® 関数を使用し、配列が論理値かどうか判定します。

関数構文出力サイズ説明
whos(A)N/A変数 A の名前、サイズ、ストレージ バイト、クラスおよび属性を表示します。
islogical(A)スカラーA が論理配列である場合は、論理値 1 (true) を返します。それ以外の場合は、論理値 0 (false) を返します。結果は isa(A,'logical') を使用した場合と同じです。
isa(A,'logical')スカラーA が論理配列である場合は、論理値 1 (true) を返します。それ以外の場合は、論理値 0 (false) を返します。結果は islogical(A) を使用した場合と同じです。
class(A)1 つの文字列変数 A のクラス名をもつ文字列を返します。
cellfun('islogical',A)A と同じサイズの配列セル配列のみに使用できます。セルに論理配列が含まれている場合は、セルごとに論理値 1 (true) を返します。それ以外の場合は、論理値 0 (false) を返します。
arrayfun(@islogical,A)A と同じサイズの配列A が論理値である場合は、論理値 1 (true) の配列を返します。それ以外の場合は、論理値 0 (false) を返します。

参考

| | | | |

この情報は役に立ちましたか?