作业帮 > 综合 > 作业

matlab中 NaN会参与运算吗

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/02 01:27:27
matlab中 NaN会参与运算吗
如果我的矩阵里有的值为NaN,当我在算所有数据的平均数Mean和方差SD时,NaN值会对最后的结果有影响吗?
我希望它们被忽略,不参与运算过程,
matlab中 NaN会参与运算吗
会影响的.用mean求均值时,如果矩阵中含有NaN,对应列的均值就是NaN.
例:
a =
1 2 3
NaN NaN 0
ans =
NaN NaN 1.5000
以下修改能不让NaN参与计算,但不一定是最优的.
mean(a(find(isnan(a) == 0)));
ans =
1.5000
但是这样求出的是矩阵中所有非NaN元素的均值,而非矩阵每一列的均值.如果你想求矩阵每一列的均值,可以循环每一列,执行以上
[hang lie] = size(a);
for i=1:lie
mean(a(find(isnan(a(:,i)) == 0),i))
end
.至于那个求方差的var好像只对向量能用,这里就不列出,你可以参照以上试试.