如何从Matlab中的稀疏向量中提取有效值?

时间:2012-03-30 18:56:22

标签: matlab vector nan

我有很多这样的矢量,非常稀疏,很多'NaN'。我打算做的是从这个向量中提取有效数字,并将它们放入一个没有“NaN”值的单独向量中。

每个向量都有不同的位置和有效数字,所以我不能将它们放入矩阵然后提取行。

因此,请帮助我!

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

2 个答案:

答案 0 :(得分:1)

假设向量存储在变量a中,

a(isfinite(a))

将仅提取有效(有限)条目。

答案 1 :(得分:0)

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

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

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