早教吧作业答案频道 -->其他-->
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会参与...的网友还看了以下:
如果N为正整数,那么代数式N的平方,加N,再加41的结果都是质数,这个命题对吗?如果正确请说明原因 2020-05-14 …
1.如果n阶行列式中负项的个数为偶数,则n>= 2.如果n阶行列式中等于零的元素个数大于n^2-n 2020-05-16 …
小鹏做了一个如图所示的程序图,按要求完成下列各小题.(1)当小鹏输入的数为6时,求输出的结果n;( 2020-07-05 …
当i从3到n时如何对1/i数列求和?这里n是一个确定的数,不是趋向无穷的那种,所以结果里可以带n的 2020-07-23 …
数论证明,如果对于n>m有n≡1modm,那么n的任何次幂N都符合N≡1mod如题,是否能证明这个 2020-07-30 …
小马虎在计算“M+N”时,误将“M+N”看成“M-N”结果xy-yz+5zx为,如果N=7xy-yz 2020-11-01 …
小马虎在计算M+N时,误将M+N看成M-N,结果答案为xy-yz+5zx,如果N=7xy-yz+xz 2020-11-01 …
急:在具有n个结点的二叉树中,如果各结点值互不相同,但前序遍历序列与中序遍序列相同在具有n个结点的二 2020-12-05 …
如果用m表示收入n表示支出,p表示结余,分别写出它们之间的数量关系。m=()n=()P=()如果小明 2020-12-07 …
任给一个正整数n,如果n为偶数,就将它变为n/2,如果除后变为奇数,则将它乘3加1(即3n+1).不 2020-12-09 …