如何在[n x 1]矩阵的列式大小查询中忽略NaN(在Matlab中)

时间:2012-03-18 19:13:32

标签: matlab size cell ignore nan

我在Matlab中有一个单元格:c [3x1 double],其值为:

c{1}(1) = 0.4980
c{1}(2) = NaN
c{1}(3) = NaN

现在我想知道单元格c的(列式)大小,忽略任何NaN(可能是size = 1)。通常我会使用:

size(c{1},1)

但这并不会忽略NaN(因此会返回size = 3)。有谁知道如何计算这个细胞的大小来补偿任何NaN(尽可能有效)?

2 个答案:

答案 0 :(得分:0)

你为什么使用细胞?为什么不使用矩阵?根据您的评论判断,您希望使用稀疏矩阵。这样,您只需输入非零/零值。见http://www.mathworks.com/help/techdoc/math/f6-8856.html

我也知道在大小计算中无法忽略NaN。它们在最小/最大计算中往往被忽略。

答案 1 :(得分:0)

a = find(isnan(c{1}(1)))
length(a)