2012-03-30 89 views
0

我有很多这样的矢量,非常稀疏,很多'NaN'。我打算做的是从这个向量中提取出有效的数字,并将它们放入一个不含'NaN'值的独立向量中。如何从Matlab中的稀疏矢量中提取有效值?

而且每个矢量都有不同的位置和有效的数字,所以我不能把它们放到矩阵中然后提取行。

因此,请帮助我这个!

10459865 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
8751943 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
6951680 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
5991217 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
5327653 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
    NaN 
4740048 
    NaN 
    NaN 
4265221 
    NaN 
    NaN 
3973280 

回答

1

假设矢量存储在变量a

a(isfinite(a)) 

将只提取有效的(有限的)条目。

0

您可以使用isnan()函数来查明条目是否是数字。然后像

x = vector of values; 
new_x = x(~isnan(x)); 

new_x是一个只有有效数字的向量。

相关问题