【发布时间】:2016-05-14 16:08:34
【问题描述】:
我有一个包含数值 (float) 和分类值 (Int) 的矩阵
作为
A = 1 NaN 2.2 3.2 4
NaN 7.9 5.1 NaN 5
3 5.5 NaN 4.1 NaN
我想把它分成矩阵; 一个包含 Int 值,另一个包含浮点值
it = 1 4
NaN 5
3 NaN
和
flt = NaN 2.2 3.2
7.9 5.1 NaN
5.5 NaN 4.1
我使用以下代码
int_cols = all( round(A)==A, 1 ); %// logical indexing into integer columns
it = A(:,int_cols);
flt = A(:,~int_cols);
但是,NaN 不等于 NaN,因此它出现在 flt 矩阵中并且它 = []。
有什么功能可以帮忙吗?
【问题讨论】:
-
或许
isnan? -
5.0这样的数值呢?在 Matlab 的眼中,它与5相同,只要将它们存储在同一个双(浮点)数组中即可。