我在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(尽可能有效)?
答案 0 :(得分:0)
你为什么使用细胞?为什么不使用矩阵?根据您的评论判断,您希望使用稀疏矩阵。这样,您只需输入非零/零值。见http://www.mathworks.com/help/techdoc/math/f6-8856.html
我也知道在大小计算中无法忽略NaN。它们在最小/最大计算中往往被忽略。
答案 1 :(得分:0)
a = find(isnan(c{1}(1)))
length(a)