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

NaNを取り除く

NaNを取り除く

Not a Number

方法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);