如何去除矩阵中的NaN元素

来源:互联网 发布:单片机多线程编程 编辑:程序博客网 时间:2024/05/17 23:58
将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))

0 0