11

配列内のすべてのNaN (Not-a-Number) 要素を検索できる MATLAB のコマンドはありますか?

4

3 に答える 3

24

前述のように、最良の答えは isnan() です(ただし、ウッドチップのメタアンサーには+1)。論理インデックスでそれを使用する方法のより完全な例:

>> a = [1 nan;nan 2]

a =

  1   NaN
NaN     2

>> %replace nan's with 0's
>> a(isnan(a))=0

a =

 1     0
 0     2

isnan(a) は論理配列を返します。これは、a と同じサイズの true と false の配列で、nan があるすべての場所が「true」であり、a へのインデックス付けに使用できます。

于 2009-11-11T13:43:36.473 に答える
23

isnan が正しい解決策ですが、それを見つける方法を指摘します。ルックフォーを使用します。MATLAB の関数名がわからない場合は、lookfor を試してください。

lookfor nan

NaN で動作するいくつかの関数の名前と、ヘルプ ブロックの最初の行がすぐに表示されます。ここでは、(とりわけ)リストされているでしょう

ISNAN Not-a-Number の場合は True。

これは明らかに使用したい機能です。

于 2009-11-11T11:38:10.243 に答える
10

私はちょうど答えを見つけました:

k=find(isnan(yourarray))

k は NaN 要素インデックスのリストになります。

于 2009-11-11T08:04:43.790 に答える