Navigation : Top / MATLAB / NaNを取り除く
*NaNを取り除く

**方法1
NaNでないベクトルの中の要素のインデックスを探し、NaNでない要素のみを残します 
。 

 i = find(~isnan(x)); 
 x = x(i) 

**方法2
ベクトルからNaNを取り除く 
 x = x(find(~isnan(x))) 

**方法3
ベクトルからNaNを取り除く(高速) 
 x = x(~isnan(x)); 

**方法4
ベクトルからNaNを取り除く 
 x(isnan(x)) = []; 

**方法5
NaNを含む行列からある行を取り除く 
X(any(isnan(X)'),:) = []; 


**M-file

NaNを取り除くことが頻繁にあるならば、つぎのようなM-ファイルを作成してください。 

 function X = excise(X) 
 X(any(isnan(X)'),:) = []; 

実行例

 X = excise(X);