isequal
配列の等価性を判別
説明
tf = isequal(
は、すべての入力が等価である場合、logical A1,A2,...,An
)1
(true
) を返します。
例
2 つの数値行列の比較
2 つの数値行列を作成し、等価性を比較します。
A = zeros(3,3)+1e-20; B = zeros(3,3); tf = isequal(A,B)
tf = logical
0
行列がごくわずか異なっていて、"厳密に" 同じでないため、この関数は logical 0
(false
) を返します。
2 つの構造体の比較
2 つの構造体を作成し、異なる順序でフィールドを指定します。
A = struct('field1',0.005,'field2',2500); B = struct('field2',2500,'field1',0.005);
構造体の等価性を比較します。
tf = isequal(A,B)
tf = logical
1
各構造体のフィールドの順序は異なっていますが、値は等しいため、isequal
はそれらを同じであるとして扱います。
数値と数値以外の特別な値の比較
logical 値 true
を double の整数 1
と比較します。
isequal(true,1)
ans = logical
1
isequal
は、等価性をテストするときにデータ型を考慮しません。
同様に、'A'
を ASCII 等価整数 65
と比較します。
isequal('A',65)
ans = logical
1
double('A')
は 65
と等しいため、結果は logical 1
(true
) です。
NaN 値を含むベクトルの比較
NaN 値を含む 3 つのベクトルを作成します。
A1 = [1 NaN NaN]; A2 = [1 NaN NaN]; A3 = [1 NaN NaN];
ベクトルの等価性を比較します。
tf = isequal(A1,A2,A3)
tf = logical
0
isequal
が NaN 値同士を等価として扱わないため、結果は logical 0
(false
) になります。
2 つの datetime 値の比較
アラスカ州アンカレッジでの 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 = logical
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 = logical
0
カイロでは夏時間を実施していないため、datetime 値は等しくありません。
文字ベクトルと string スカラーの比較
同じ文字のシーケンスを含む文字ベクトルと string スカラーを比較する場合、サイズとデータ型が異なっていても、isequal
は logical 1
(true
) を返します。
isequal("foo",'foo')
ans = logical
1
入力引数
A,B
— 比較する入力 (個別の引数)
配列
比較する入力。配列として指定します。
次のような場合、入力の型は一致している必要はありません。
数値入力は、それらが同じサイズで、その内容が等しい値である場合に等価となります。テストでは数値配列の実数部と虚数部が個別に比較されます。
table、timetable、構造体、cell 配列は、すべての要素とプロパティが等しい場合にのみ等価となります。
string スカラーと文字ベクトルは、同じ文字のシーケンスが含まれている場合に等価となります。
一部のデータ型比較では、メタデータに関して特別な考慮事項があります。入力が "すべて" 以下の場合:
構造体 — 内容が同じであれば、フィールドの順序が同じである必要はありません。
順序 categorical 配列 — 順序を含めて同じカテゴリ セットでなければなりません。
順序でない categorical 配列 — カテゴリ セットは異なっていてもかまいません。
isequal
は、要素の各ペアのカテゴリ名を比較します。datetime 配列 —
isequal
は時点を比較する際に表示形式を無視します。配列がすべてタイム ゾーンに関連付けられている場合、isequal
は表示上の時刻ではなく実際の時点を比較します (たとえば、01-May-2018 09:00:00 EDT
は01-May-2018 06:00:00 PDT
と同じ時点なので、表示上の時刻は 9:00 と 6:00 で異なりますが、isequal
はtrue
を返します)。オブジェクト — プロパティ値が等しく、クラスが同じオブジェクトの場合に、
isequal
は logical1
(true
) を返します。
A1,A2,...,An
— 比較する一連の入力 (個別の引数)
配列
比較する一連の入力。配列として指定します。
次のような場合、入力の型は一致している必要はありません。
数値入力は、それらが同じサイズで、その内容が等しい値である場合に等価となります。テストでは数値配列の実数部と虚数部が個別に比較されます。
table、timetable、構造体、cell 配列は、すべての要素とプロパティが等しい場合にのみ等価となります。
string スカラーと文字ベクトルは、同じ文字のシーケンスが含まれている場合に等価となります。
一部のデータ型比較では、メタデータに関して特別な考慮事項があります。入力が "すべて" 以下の場合:
構造体 — 内容が同じであれば、フィールドの順序が同じである必要はありません。
順序 categorical 配列 — 順序を含めて同じカテゴリ セットでなければなりません。
順序でない categorical 配列 — カテゴリ セットは異なっていてもかまいません。
isequal
は、要素の各ペアのカテゴリ名を比較します。datetime 配列 —
isequal
は時点を比較する際に表示形式を無視します。配列がすべてタイム ゾーンに関連付けられている場合、isequal
は表示上の時刻ではなく実際の時点を比較します (たとえば、01-May-2018 09:00:00 EDT
は01-May-2018 06:00:00 PDT
と同じ時点なので、表示上の時刻は 9:00 と 6:00 で異なりますが、isequal
はtrue
を返します)。オブジェクト — プロパティ値が等しく、クラスが同じオブジェクトの場合に、
isequal
は logical1
(true
) を返します。
ヒント
2 つの関数ハンドルの等価性は、各ハンドルの構成方法に依存します。詳細については、関数ハンドルの比較を参照してください。
2 つのオブジェクトが動的プロパティをもつ場合、それらのプロパティの名前と値が同じであっても、
isequal
は logical0
(false
) を返します。isequal
は 2 つのオブジェクトの等価性をテストするときに、保存されている (非依存) プロパティのみを比較します。2 つのハンドル オブジェクトを比較する場合、オブジェクトのハンドルが同じかどうかをテストするには
==
を使用します。異なるハンドルをもつ 2 つのオブジェクトのプロパティ値が等しいかどうかを判定するには、isequal
を使用します。空のオブジェクト配列を比較する場合、配列のサイズとクラスが同じ場合にのみ
isequal
は logical1
(true
) を返します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2022b: 空のオブジェクト配列の等価性
以前のリリースでは、isequal
は、2 つ以上の空のオブジェクト配列のサイズが同じ場合に等しいとみなしましたが、クラスは考慮しませんでした。R2022b 以降、isequal
は、空のオブジェクト配列について、サイズおよびクラスが同じ場合にのみ logical 1
(true
) を返します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)