ドキュメンテーション

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

isequal

配列の等価性を判別

構文

  • tf = isequal(A,B)
  • tf = isequal(A1,A2,...,An)

説明

tf = isequal(A,B) は、AB が同じサイズであり、その内容が等価である場合は論理値 1 (true) を返します。そうでない場合は論理値 0 (false) を返します。このテストでは、数値配列の実数部と虚数部の両方が比較されます。isequal は、等価性を判別する際に、値のデータ型を無視します。セル配列、カテゴリカル配列、テーブルまたは構造体の場合は、すべての要素とプロパティが等しい場合にのみ、この関数は論理値 1 (true) を返します。未定義のカテゴリカル要素、NaN (非数) または NaT (Not-a-Time) 値は、他の要素および自分自身と等価でないと見なされます。

tf = isequal(A1,A2,...,An) は、すべての入力が数値的に等しい場合、論理値 1 (true) を返します。

すべて折りたたむ

2 つの数値行列の比較

2 つの数値行列を作成し、等価性を比較します。

A = zeros(3,3)+1e-20;
B = zeros(3,3);
tf = isequal(A,B)
tf =

     0

行列がごくわずか異なっていて、"厳密に" 同じでないため、この関数は論理値 0 (false) を返します。

2 つの構造体の比較

2 つの構造体を作成し、異なる順序でフィールドを指定します。

A = struct('field1',0.005,'field2',2500);
B = struct('field2',2500,'field1',0.005);

構造体の等価性を比較します。

tf = isequaln(A,B)
tf =

     1

各構造体のフィールドの順序が異なる場合でも、値は同じなので、isequal はそれらを同じであると扱います。

数値と数値以外の特別な値の比較

論理値 true を double の整数 1 と比較します。

isequal(true,1)
ans =

     1

isequal は、等価性をテストするときに、データ型を考慮しません。

同様に、'A' を ASCII 等価整数 65 と比較します。

isequal('A',65)
ans =

     1

double('A')65 と等しいため、結果は論理値 1 (true) です。

NaN 値を含むベクトルの比較

NaN 値を含む 3 つのベクトルを作成します。

A1 = [1 NaN NaN];
A2 = [1 NaN NaN];
A3 = [1 NaN NaN];

ベクトルの等価性を比較します。

tf = isequal(A1,A2,A3)
tf =

     0

isequal が NaN 値同士を等価として扱わないため、結果は論理値 0 (false) になります。

2 つの datetime 値の比較

AMアラスカ州アンカレッジでの 2013 年 1 月 13 日午前 0 時が、カイロでの同日の午前 11 時と等しいかどうかを判別します。

t1 = datetime(2013,1,13,0,0,0,'TimeZone','America/Anchorage');
t2 = datetime(2013,1,13,11,0,0,'TimeZone','Africa/Cairo');
tf = isequal(t1,t2)
tf =

     1

日付に 8 ヵ月を追加して、datetime 値が等しいかどうかを比較します。

t1 = datetime(2013,9,13,0,0,0,'TimeZone','America/Anchorage');
t2 = datetime(2013,9,13,11,0,0,'TimeZone','Africa/Cairo');
tf = isequal(t1,t2)
tf =

     0

カイロでは夏時間を実施していないため、datetime 値は等しくありません。

入力引数

すべて折りたたむ

A,B — 比較する入力数値配列 | カテゴリカル配列 | セル配列 | テーブル | 構造体 | ...

比較する入力。数値配列、カテゴリカル配列、セル配列、テーブルまたは構造体として指定します。また、入力を論理配列、文字配列、datetime 配列、duration 配列、calendarDuration 配列またはオブジェクトとして指定することもできます。AB の数値型は一致している必要はありません。

カテゴリカル配列を、同じサイズの文字列のセル配列と比較したり、単一のカテゴリカル要素を単一の文字列と比較することができます。

datetime 配列を日付文字列のセル配列または単一の日付文字列と比較できます。

入力 A と入力 B"両方とも" 以下の場合:

  • 構造体 - 内容が同じである限り、フィールドは同じ順番である必要はありません。

  • 順序カテゴリカル配列 - 順序を含めて同じカテゴリ セットでなければなりません。

  • 順序でないカテゴリカル配列の場合 - カテゴリ セットは異なっていてもかまいません。isequal は、要素の各ペアのカテゴリ名を比較します。

  • datetime 配列 -- isequal は時点を比較する際にタイム ゾーンと表示形式を無視します。

  • 異なるクラスのオブジェクト - isequal は、論理値 0 (false) を返します。これは、オブジェクトが同じプロパティと値を一致させているときにでも適用されます。

A1,A2,...,An — 比較する一連の入力数値配列 | カテゴリカル配列 | セル配列 | テーブル | 構造体 | ...

比較する一連の入力。数値配列、カテゴリカル配列、セル配列、テーブルまたは構造体として指定します。また、入力を論理配列、文字配列、datetime 配列、duration 配列、calendarDuration 配列またはオブジェクトとして指定することもできます。入力の数値型は一致している必要はありません。

カテゴリカル配列を、同じサイズの文字列のセル配列と比較したり、単一のカテゴリカル要素を単一の文字列と比較することができます。

datetime 配列を日付文字列のセル配列または単一の日付文字列と比較できます。

入力が "すべて" 以下の場合:

  • 構造体 - 内容が同じである限り、フィールドは同じ順番である必要はありません。

  • 順序カテゴリカル配列 - 順序を含めて同じカテゴリ セットでなければなりません。

  • 順序でないカテゴリカル配列の場合 - カテゴリ セットは異なっていてもかまいません。isequal は、要素の各ペアのカテゴリ名を比較します。

  • datetime 配列 -- isequal は時点を比較する際にタイム ゾーンと表示形式を無視します。

  • 異なるクラスのオブジェクト - isequal は、論理値 0 (false) を返します。これは、オブジェクトが同じプロパティと値を一致させているときにでも適用されます。

詳細

すべて折りたたむ

ヒント

  • ハンドル オブジェクトを比較する場合は、== を使用して、オブジェクトが同じハンドルをもつかどうかをテストします。isequal を使用して、異なるハンドルをもつオブジェクトが等しいプロパティ値をもつかどうかを判定します。

  • 等価性をテストする場合、NaN または NaT の値を等価として扱うには、isequaln を使用します。

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