【发布时间】:2012-04-03 10:06:13
【问题描述】:
我在 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(尽可能高效)?
【问题讨论】:
-
我怀疑除了循环并确定哪些条目是 NaN 之外还有其他选择。
-
@OliCharlesworth,这就是我害怕的......这只是一个示例单元格(为了简化问题)。我使用的实际电池要大一些,所以需要很长时间。嗯嗯:)
-
也许您希望它响应 size=3 但它响应 size=1,只需将
size(c{1},1)更正为size(c{1},2) -
@OliCharlesworth,写一个 for,我希望不会少...
-
@g24l:是的,您的回答适用于 OP 的具体示例。但我怀疑标题中的实际问题是否有“干净”的解决方案(与示例不对应!)。