matlab中,如何把一个向量中的NaN去掉?

假设向量是A=[1,2,3,NaN],那么如何使得A成为[1,2,3]呢?请给出命令!

第1个回答  推荐于2018-03-29
向量a是否存在NaN,用any(isnan(a)):
>> any(isnan([1 nan]))
ans =
1
>> any(isnan([1 2]))
ans =
0本回答被网友采纳
第2个回答  2010-12-09
B=A(~isnan(A));本回答被提问者采纳
第3个回答  2010-12-09
有大半年没用MATLAB了,建议:
A=A(1:3);
或者烦一点,
B=zeros(1,3);
B=A(1:3);
要是办公室电脑上有MATLAB,准给你标准答案!
记得啊,多练习

一招删除数组中所有NaN缺失项-每天一个MATLAB小技巧(32)
1. **rmmissing(A)**:此命令从数组或表A中删除所有包含NaN的元素。当A为向量时,它会移除所有出现的NaN值。对于矩阵或表而言,它会移除包含任何NaN值的行。例如,如果有一个数组A = [1, NaN, 3, NaN, 5],那么使用rmmissing(A)后,结果将是 [1, 3, 5]。2. **rmmissing(A, dim)**...

Matlab中,怎样能去除向量或矩阵中的NaN和0元素,但又不改变其它元素的索...
要找最小的元素的时候,可以将对应的数给为inf,那么这些数肯定排在最大 数据足够多的时候,前100个数肯定就没有它们的身影 例如在C中忽略nan,找前100个最大的数 D=C;D(isnan(D))=-inf;sD=sort(D,'descend'); %降序排序 Result =sD(1:100);不用用到索引 要忽略某些值,只要让那些等...

matlab 如何删除矩阵中的NaN值?
将A数组中NaN所在的编号给找出来;B=A(z)就可以将A中所有的NaN值剔除掉了,如果希望得到非NaN值的编号,那么z就是了!如果只求将A中NaN值去掉,那么B=A(~isnan(A))就可以搞定!当然,此方法也可以将数组中某个数替换或者剔除。比如我们有个数组 A=[1,2;0,3]希望将数组A中的0给找出并剔除...

matlab 出现nan怎么办
因为你的表达式中的变量,如PY、PZ、FS中的值为o或空格。所以会出现NaN。解决的方法可以用if条件语句,当PY、PZ、FS为零时,可以人为加个辅助量0.00001.。

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

Matlab出现nan怎么处理
1)你的程序里出现0作为分母的运算,这个时候可以考虑把被除矩阵整体加一个无限小量,例如1e-10。这样可以消除0作分母的现象。2)如果上面这个做法不管用,一般就是你自己的算法和编程的问题了,导致结果不收敛,发散。多次迭代后无穷大,超过了matlab允许的数值范围。这个时候你必须去仔细检查你的程序了...

怎么避免在matlab中矩阵运算出现NaN呀? 我是在用雅可比迭代法计算一...
b去ones(20,1)的时候,x出现NaN只可能由于这一句x=D\\((D-A)*x+b)的分母为0,即某次迭代的时候出现判断 (diag(diag(A))-A)*x==-b,返回值为1。但是按理来说这样迭代是不会出现这种情况的,所以请尝试将循环部分代码改为:c=0;for iter=1:N x=D\\((D-A)*x+b);if (D-A)*x...

matlab 数据里面有NaN,如何进行归一化
最直接的办法就是归一化的时候用if语句把非数踢掉~

我怎么才能将矩阵中的NaN去掉 用matlab?
>> a = [1 nan 2];>> b = find(~isnan(a));>> res = a(b)

Matlab NAN如何去掉
方法一 将非数置换为空(删除),对维数有影响 A = [1 2 nan 4 7 nan];A(isnan(A)) = []A = 1 2 4 7 方法二 将非数用常量替代,对维数不影响 B = [1 2 nan; 4 nan 5; 7 8 9]B(isnan(B)) = 0 % 用 0 替换 nanB = 1 2 NaN 4 NaN 5...

相似回答