web-dev-qa-db-ja.com

配列内のすべてのNaN要素を検索します

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

10
Graviton

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

k=find(isnan(yourarray))

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

9
Graviton

前述のように、最良の答えは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にインデックスを付ける

24
Marc

Isnanは正しい解決策ですが、それを見つける方法を指摘しておきます。 lookforを使用します。 MATLABで関数の名前がわからない場合は、lookforを試してください。

lookfor nan

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

ISNANNot-a-Numberの場合はTrue。

これは明らかにあなたが使いたい機能です。

23
user85109