このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
eq, ==
等価性の判定
説明
例
2 つのベクトルの等価性
実数と虚数の両方を含む 2 つのベクトルを作成し、それらを比較して等価性を評価します。
A = [1+i 3 2 4+i]; B = [1 3+i 2 4+i]; A == B
ans = 1x4 logical array
0 0 1 1
関数 eq
は、等式の実数部と虚数部を両方テストし、いずれも等しい場合にのみ logical 1
(true
) を返します。
文字の検索
文字ベクトルを作成します。
M = 'magenta';
==
を使用して、特定の文字があるかどうかをテストします。
M == 'e'
ans = 1x7 logical array
0 0 0 1 0 0 0
logical 1
(true
) は、文字 'e'
が存在することを示します。
categorical 配列の値の検索
'heads'
と 'tails'
の 2 つの値をもつ categorical 配列を作成します。
A = categorical({'heads' 'heads' 'tails'; 'tails' 'heads' 'tails'})
A = 2x3 categorical
heads heads tails
tails heads tails
'heads'
カテゴリのすべての値を検索します。
A == 'heads'
ans = 2x3 logical array
1 1 0
0 1 0
logical 1
(true
) は、カテゴリの値があることを示します。
等式で A
の行を比較します。
A(1,:) == A(2,:)
ans = 1x3 logical array
0 1 1
logical 1
(true
) は、等しいカテゴリ値をもつ行内の位置を示します。
浮動小数点数の比較
小数のテキストで表された多くの数値は、2 進浮動小数点数として正確に表すことができません。これにより、==
演算子が反映する結果に若干の違いが生じます。
小数で表されている数値に対していくつかの減算演算を実行し、結果を C
に格納します。
C = 0.5-0.4-0.1
C = -2.7756e-17
厳密な 10 進演算では、C
は "正確に" 0
に等しくなります。その小さい値は、2 進浮動小数点演算の特性によるものです。
等式で C
を 0
と比較します。
C == 0
ans = logical
0
浮動小数点数を比較するには、==
の代わりに許容誤差 tol
を使用します。
tol = eps(0.5); abs(C-0) < tol
ans = logical
1
C
と 0
の 2 つの数値は、0.5
に近い連続する 2 つの浮動小数点数よりも互いに近い数です。多くの状況で、C
は 0
と同様に振る舞います。
datetime 値の比較
2 つの datetime
配列の要素を比較します。
タイム ゾーンが異なる 2 つの datetime
配列を作成します。
t1 = [2014,04,14,9,0,0;2014,04,14,10,0,0]; A = datetime(t1,'TimeZone','America/Los_Angeles'); A.Format = 'd-MMM-y HH:mm:ss Z'
A = 2x1 datetime
14-Apr-2014 09:00:00 -0700
14-Apr-2014 10:00:00 -0700
t2 = [2014,04,14,12,0,0;2014,04,14,12,30,0]; B = datetime(t2,'TimeZone','America/New_York'); B.Format = 'd-MMM-y HH:mm:ss Z'
B = 2x1 datetime
14-Apr-2014 12:00:00 -0400
14-Apr-2014 12:30:00 -0400
A
と B
の要素がどこで等しくなっているかを確認します。
A==B
ans = 2x1 logical array
1
0
table の比較
R2023a 以降
2 つの table を作成して比較します。行名 (両方に存在している場合) および変数名は同じでなければなりませんが、同じ順序である必要はありません。出力の行および変数は、最初の入力と同じ順序になります。
A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
V1 V2
__ __
R1 1 3
R2 2 4
B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
V2 V1
__ __
R2 4 3
R1 2 1
A == B
ans=2×2 table
V1 V2
_____ _____
R1 true false
R2 false true
入力引数
A
, B
— オペランド
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
オペランド。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。入力 A
と B
は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、A
が M
行 N
列の行列で、B
がスカラーまたは 1
行 N
列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
任意の型の数値入力を比較でき、比較は型変換による精度低下の悪影響を受けません。
一方の入力が
categorical
配列である場合、他方の入力にはcategorical
配列、文字ベクトルの cell 配列または単一の文字ベクトルを指定できます。単一の文字ベクトルは、他方の入力と同じサイズの文字ベクトルの cell 配列に拡張されます。両方の入力が順序categorical
配列である場合は、順序を含めて同じカテゴリ セットでなければなりません。両方の入力が順序ではないcategorical
配列である場合は、異なるカテゴリ セットを含めることができます。詳細については、categorical 配列の要素の比較を参照してください。一方の入力が
datetime
配列である場合、他方の入力にはdatetime
配列、文字ベクトル、または文字ベクトルの cell 配列を指定できます。一方の入力が
duration
配列である場合、他方の入力にはduration
配列または数値配列を指定できます。この演算子は各数値を標準日 (24 時間) の数として扱います。一方の入力が string 配列の場合、他方の入力には string 配列、文字ベクトル、または文字ベクトルの cell 配列を指定できます。
A
とB
の対応する要素は、辞書順に比較されます。
table または timetable である入力は次の条件を満たさなければなりません。 (R2023a 以降)
入力が table または timetable の場合、すべての変数のデータ型で演算がサポートされている必要があります。
一方の入力だけが table または timetable の場合、もう一方の入力は数値または logical 配列でなければなりません。
両方の入力が table または timetable の場合、以下のとおりです。
両方の入力のサイズが同じであるか、一方が 1 行の table でなければなりません。
両方の入力に同じ名前をもつ変数が含まれている必要があります。ただし、各入力の変数の順序は異なっていてもかまいません。
両方の入力が table で、両方とも行名をもつ場合、行名は同じでなければなりません。ただし、各入力の行名の順序は異なっていてもかまいません。
両方の入力が timetable の場合、行時間が同じでなければなりません。ただし、各入力の行時間の順序は異なっていてもかまいません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| categorical
| datetime
| duration
| table
| timetable
複素数のサポート: あり
ヒント
ハンドル オブジェクトを比較する場合は、
==
を使用して、オブジェクトが同じハンドルをもつかどうかをテストします。isequal
を使用して、異なるハンドルをもつオブジェクトが等しいプロパティ値をもつかどうかを判定します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
コード生成では、
eq
を使用した列挙型メンバーと string 配列、文字配列または文字配列の cell 配列との間の等価性のテストはサポートされません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
スレッドベースの環境
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 より前に導入R2023a: table および timetable で直接演算を実行
eq
オペレーターでは、変数にアクセスするためにインデックス付けを行うことなく、table および timetable に対して直接演算を行うことがサポートされます。すべての変数のデータ型で演算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
R2020b: 暗黙的な拡張の変更は categorical
配列、datetime
配列、および duration
配列に影響
R2020b 以降、引数が categorical
配列、datetime
配列、または duration
配列である場合に、eq
は暗黙的な拡張をサポートします。R2020a と R2016b の間は、暗黙的な拡張は数値データ型および string データ型でのみサポートされていました。
R2016b: 暗黙的な拡張の変更は演算子の引数に影響
R2016b から暗黙的な拡張が追加されたことにより、それまで基本演算でエラーを返していた一部の引数の組み合わせで、結果が出力されるようになりました。たとえば、以前は行ベクトルと列ベクトルを加算できませんでしたが、それらのオペランドは現在、加算で有効になっています。つまり、[1 2] + [1; 2]
のような式は、以前はサイズの不一致エラーを返していましたが、実行されるようになりました。
コードで要素単位の演算子を使用し、以前 MATLAB® の返していたサイズの不一致エラーに依存している場合 (特に try
/catch
ブロック内)、コードは今後、これらのエラーをキャッチしなくなることがあります。
基本的な配列演算に必要な入力サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
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)