如何将matlab矩阵中的NaN替换成0

我用的是matlab7.6 再将一些数据导入到matlab后发现有好多的NaN,如何将这些NaN换成0呢?

数据矩阵x

x(find(isnan(x)==1)) = 0

或:

[datas,features]=size(data);

for k=1:features

for i=1:datas

if data(i,k)==0

data(i,k)=mean(data(:,k));

elseif isnan(data(i,k))==1

data(i,k)=mean(data(:,k));

end

end

end

扩展资料:

MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。

MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。

参考资料来源:百度百科-MATLAB

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-04-07
数据矩阵x
x(find(isnan(x)==1)) = 0
或:
[datas,features]=size(data);
for k=1:features
for i=1:datas
if data(i,k)==0
data(i,k)=mean(data(:,k));
elseif isnan(data(i,k))==1
data(i,k)=mean(data(:,k));
end
end
end
扩展资料:
MATLAB数学函数库包括了大量的计算算法。从基本算法如四则运算、三角函数,到复杂算法如矩阵求逆、快速傅里叶变换等。
MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。用这种语言能够方便快捷建立起简单运行快的程序,也能建立复杂的程序。
第2个回答  2021-01-15
NaN2Zero = @(X) max(X,0) - max(-X,0); % 将矩阵X中的NaN替换成0

参考实变函数中的正部和负部概念
以及百度搜索“在匿名函数内联中将NaN设置为零”
第3个回答  推荐于2016-06-12
[datas,features]=size(data);
for k=1:features
for i=1:datas
if data(i,k)==0
data(i,k)=mean(data(:,k));
elseif isnan(data(i,k))==1
data(i,k)=mean(data(:,k));
end
end
end
第4个回答  推荐于2018-03-01
数据矩阵x

x(find(isnan(x)==1)) = 0本回答被提问者和网友采纳
相似回答