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

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

B=A(~isnan(A));

打开 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...

我举个例子 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); 分别试试吧 :)

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

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

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

明白你的意思,应该可以实现的,只是没有你的数据 你的数组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 x(find(isnan(x)==1)) = 0

用find函数和isnan函数,找到nan的位置然后去除这些值就可以了。

你的数据,应该是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.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com