mwbr.net
当前位置:首页 >> mAtlAB中矩阵有nAn怎么办 >>

mAtlAB中矩阵有nAn怎么办

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

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

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

NAN Not A Number就是代表不是一个数据 经常用在下面两种情况 1.数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其他处理——这个是Matlab优越于其他语言的表现之一。另...

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

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

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

我举个例子 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...

你的数据,应该是length(part{i,3})的结果全部是3 你是要把part{i,3}内有NaN的数去掉,然后length(part{i,3})的结果变为非NaN的数的个数吗? 如果是,可以这样 for ii = 1:size(part, 1) temp = part{i, 3}; part{i, 3} = temp(~isnan(temp)); end

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