早教吧作业答案频道 -->其他-->
matlab中 NaN会参与运算吗如果我的矩阵里有的值为NaN,当我在算所有数据的平均数Mean和方差SD时,NaN值会对最后的结果有影响吗?我希望它们被忽略,不参与运算过程,
题目详情
matlab中 NaN会参与运算吗
如果我的矩阵里有的值为NaN,当我在算所有数据的平均数Mean和方差SD时,NaN值会对最后的结果有影响吗?
我希望它们被忽略,不参与运算过程,
如果我的矩阵里有的值为NaN,当我在算所有数据的平均数Mean和方差SD时,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好像只对向量能用,这里就不列出,你可以参照以上试试.
例:
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好像只对向量能用,这里就不列出,你可以参照以上试试.
看了 matlab中 NaN会参与...的网友还看了以下:
函数调用时,基本的参数传递方式有传值与传地址两种,(20)。A.在传值方式下,形参将值传给实参B.在 2020-05-26 …
函数调用时,基本的参数传递方式有传值与传地址两种,(23)。A.在传值方式下,形参将值传给实参B.在 2020-05-26 …
(09年全国卷二)1951年,美、英等国在旧金山召开对日媾和会议,签订了对日和约。中国、朝鲜、越南 2020-07-06 …
在平面直角坐标系xoy中,曲线C的参数方程为x=2cosθy=2+2sinθ(θ为参数),直线l的 2020-07-20 …
在直角坐标系xOy中,曲线C1的参数方程为x=2+2cosαy=2sinα(α为参数),曲线C2的 2020-07-31 …
已知曲线的参数方程为(为参数),在同一平面直角坐标系中,将曲线上的点按坐标变换得到曲线.(1)求曲 2020-08-02 …
在经典力学中,同一物理过程发生的位移和对应时间的测量结果在不同的参考系中是相同的.这句话什么意思? 2020-08-03 …
为了丰富学生的课余生活,学校创设了棋社和文学社,共有300人参加.参加棋社的人数是参加文学社人数的2 2020-11-28 …
1951年,美、英等国在旧金山召开对日媾和会议,签订了对日和约。中国、朝鲜、越南被排除在会议之外,参 2020-12-02 …
在2005年11月底基本结束的山西中阳县村委会换届选举中,村民的参选率高达90%,许多在外经商、务工 2020-12-26 …