llgd.net
当前位置:首页 >> mAtlAB中,如何把一个向量中的NAN去掉? >>

mAtlAB中,如何把一个向量中的NAN去掉?

向量a是否存在NaN,用any(isnan(a)): >> any(isnan([1 nan])) ans = 1 >> any(isnan([1 2])) ans = 0

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

可以通过find函数来搞定。 可以通过importdata('data.txt')将数据文件data.txt导入数组A中。 A=importdata('data.txt') 然后通过命令 z=find(~isnan(A)) 将A数组中NaN所在的编号给找出来; B=A(z) 就可以将A中所有的NaN值剔除掉了,如果希望得到...

按照你所说A,B有0元素 所以C有0元素(0除以非0)或者inf元素(非零除以0),或者nan元素(0除以0) 要在排序的时候忽略他们,只要将他们改写为一定排不上前100的数就可以了 要找最大的元素的时候,可以将对应的数改为-inf,那么这些数肯定排在...

明白你的意思,应该可以实现的,只是没有你的数据 你的数组trs是cell的吧,我先模拟了一个数组,包含[]: clear all;clc; N=20; for ii=1:N A{ii}=eye(4); end for jj=1:N if rem(jj,2)==0 A{jj}=[]; end end ------------------------后面的部...

比如矩阵x中存在NaN [m,n]=find(isnan(x)) % 找出NaN数据位置 x(m,:)=[] %删除含有NaN的行,x(:,n)=[]可以删除列

打开 MATLAB Command window中输入 help NaN,可以看到 NaN(Not-a-Number) 的意思是“不是一个数字”。 NaN is the IEEE arithmetic representation for Not-a-Number. A NaN is obtained as a result of mathematically undefined operations l...

有很多运算会产生nan,0*Inf,Inf - Inf,Inf/Inf,0/0以及所谓任意数除以0的情况,调试的时候观察是否有这些情况产生。再次强调一下调试很重要,nan不可能是在你截图的这句产生的,请一步一步调试看看是哪一步产生的nan,然后分析为什么产生nan。

在matlab中的NaN的含义是没有意义的数,not a number,一般有这几种情况:0/0,Inf/Inf,Inf-Inf,Inf*0等,都会导致结果不确定,所以会得到NaN。 数据处理时,在实际工程中经常数据的缺失或者不完整,此时我们可以将那些缺失设置为nan,Matlab...

采用下面的代码进行使用。 向量a是否存在NaN,用any(isnan(a)): >> any(isnan([1 nan])) ans = 1 >> any(isnan([1 2])) ans = 0

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