Matlab 比較ツールを使用して 2 つの .mat ファイルを比較しようとしています。比較結果では、NaN 値が強調表示され、異なることを意味します (違いはありますが)。Matlab 比較ツールを使用する場合、NaN 値をどのように処理できますか。
2 に答える
4
NaN
定義上、「非数」です。ドキュメントを引用すると、
NaN は、0.0/0.0 や inf-inf などの数学的に定義されていない演算の結果として取得されます。
したがって、数学的に言えば、NaN 間で等しいかどうかさえ定義されていません。例えば; 0/0 を計算しようとすると、0/0+1 と同様に NaN になります。0/0 と 0/0+1 は等しいと思いますか? 彼らは違うと思いますか?どちらでもない: 0/0 と 0/0+1 は単に存在しません。
一方、プログラム的には、NaN
は明確に定義された「値」であり、 間NaN
の等価性と同様です。つまり、NaN
は常に と等しくありませんNaN
。この動作の理論的根拠は、おそらく、数学的に NaN が定義されていないため、それ自体と等しくないという事実です。
于 2013-12-24T15:56:59.117 に答える
4
イスナンを試してみてください。
label = false(size(data));
different = true;
label(isnan(data)) = different
次のものも使用できますeq
。
b=[1 2;nan 4];
a=[1 2;nan 4];
eq(a,b)
>> 1 1
0 1
于 2013-12-24T14:23:32.180 に答える