1

Matlab 比較ツールを使用して 2 つの .mat ファイルを比較しようとしています。比較結果では、NaN 値が強調表示され、異なることを意味します (違いはありますが)。Matlab 比較ツールを使用する場合、NaN 値をどのように処理できますか。

ここに画像の説明を入力

4

2 に答える 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 に答える