求助!急!matlab中 NaN会参与运算吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助!急!matlab中 NaN会参与运算吗相关的知识,希望对你有一定的参考价值。

如果我的矩阵里有的值为NaN,当我在算所有数据的平均数Mean和方差SD时,NaN值会对最后的结果有影响吗?

我希望它们被忽略,不参与运算过程,应该怎么做呢?

会影响的。用mean求均值时,如果矩阵中含有NaN,对应列的均值就是NaN。\x0d\x0a例:\x0d\x0aa =\x0d\x0a 1 2 3\x0d\x0a NaN NaN 0\x0d\x0aans =\x0d\x0a NaN NaN 1.5000\x0d\x0a以下修改能不让NaN参与计算,但不一定是最优的。\x0d\x0amean(a(find(isnan(a) == 0)));\x0d\x0aans =\x0d\x0a 1.5000\x0d\x0a但是这样求出的是矩阵中所有非NaN元素的均值,而非矩阵每一列的均值。如果你想求矩阵每一列的均值,可以循环每一列,执行以上\x0d\x0a[hang lie] = size(a);\x0d\x0afor i=1:lie\x0d\x0a mean(a(find(isnan(a(:,i)) == 0),i))\x0d\x0aend\x0d\x0a.至于那个求方差的var好像只对向量能用,这里就不列出,你可以参照以上试试。 参考技术A 会参与运算,
设数组为q;
可以用q=q(~isnan(q));
把NAN剔除
参考技术B 会影响的。用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好像只对向量能用,这里就不列出,你可以参照以上试试。本回答被提问者和网友采纳

求助,rman备份oracle时linux系统自动重启,急!!

在linux系统上用rman备份到Netbackup服务器上时,linux会自动重启,rman备份到本地时不会重启,Netbackup日志中没有任何相关错误信息,备份信息全被中断,像断电一样。只在系统日志中有记录,但也找不出问题所在。

是不是tns的问题追问

数据库正常使用,tns好像有错误,见楼上。但数据库工程师说数据库正常使用,这个小错误不影响备份。并且rman本地备份没有问题。

参考技术A oracle的日志呢?追问

oracle日志太长了,这发不下。。。
主要错误信息有这些:
Wed May 16 20:24:10 CST 2012
Completed: ALTER DATABASE OPEN
Wed May 16 20:51:20 CST 2012
Error 2068 trapped in 2PC on transaction 9.13.56543. Cleaning up.
Error stack returned to user:
ORA-02068: following severe error from LLSMSDBLINK
ORA-03135: connection lost contact

以上是关于求助!急!matlab中 NaN会参与运算吗的主要内容,如果未能解决你的问题,请参考以下文章

matlab中为啥会出现NaN?

求助,VB函数的参数个数未知,要如何传递参数

matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊

MATLAB的符号运算变量如何创建?

matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊

matlab中inf是啥意思