mwbr.net
当前位置:首页 >> mAtlAB 与NAN有关的矩阵 >>

mAtlAB 与NAN有关的矩阵

试试 dMat = zeros(3,4)*nan

数据矩阵x x(find(isnan(x)==1)) = 0

nan是指not a number,是不是出现了除以奇异矩阵的情况,仔细检查一下代码咯。

可以使用 isnan 函数 A=[1 nan]; >> isnan(A) ans = 0 1

会影响的。用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 但是这样求出的是矩阵中所...

假设你的数据存在矩阵a中 矩阵a中nan的个数可以用 numel(find(isnan(a))) 或者 numel(a(isnan(a))) 求得

那可不是精度的问题哦,NAN是非数,既然都不是数了,那肯定是任何精度也达不到的。得不到解得时候通常会出现非数的,把具体程序贴出来看看吧

我举个例子 A = [1 2 3 2 3 4 5]; 想让A中的=2的元素变成NAN ind = find(A == 2); % 找到索引 A(ind) = nan; %变成NAN 也可以直接写A(A==2) = nan; 此外,如果想找A中的NAN就是 isnan(A); 分别试试吧 :)

这个问题问的有点问题。如果是一维的,a(a==0)=[]就能解决问题如果是多维的,a(a==0)=[]会把a变成一维的,然后结果类似于上面的结果。原因是每行每列中的0的个数不同,无法保持多维的样子,只能拉长了当成一维处理。a=4442240322212433054410014...

会影响的。用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 但是这样求出的是矩阵中所...

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com