如何去除矩阵中的NaN元素

将NaN转化为数字或去掉

>>a(isnan(a)) = []
a = 2    3     3     5
以下是几种方法:

注:判断一个值是否为NaN,只能用 isnan(),而不可用 x==NaN; 
(1)i = find( ~ isnan(x));

x = x(i) 先找出值不是NaN的项的下标,将这些元素保留


(2)x = x(find( ~ isnan(x))) 同上,去掉NaN


(3)x = x( ~ isnan(x)); 更快的做法


(4)x(isnan(x)) = []; 消掉NaN


(5)x(any(isnan(X)’),:) = []; 把含有NaN的行都去掉
例如:

>>a=[2 3 nan 3 5 nan]

a(isnan(a))

你可能感兴趣的:(matlab笔记)