嗨我有一个单元格阵列在matlab中,其中单元格的长度不同。我如何确定细胞的平均长度。确定单元格阵列中单元格的平均长度
我曾尝试:
mean(length(mycell{:});
然而,这是均值功能太多的投入。
谢谢。
嗨我有一个单元格阵列在matlab中,其中单元格的长度不同。我如何确定细胞的平均长度。确定单元格阵列中单元格的平均长度
我曾尝试:
mean(length(mycell{:});
然而,这是均值功能太多的投入。
谢谢。
使用cellfun
mean(cellfun(@length, mycell))
BTW,对于一些内置的功能可能会更好写
mean(cellfun('length', mycell))
如果您的电池阵列只包含行向量或仅列向量,有一个替代方法,不使用cellfun
。
如果您的电池阵列包含行向量:如果您的单元阵列包含列向量
length([mycell{:}])/numel(mycell)
length(horzcat(mycell{:}))/numel(mycell)
:
length(vertcat(mycell{:}))/numel(mycell)
如果单元阵列很小,这个回答比@Shai's要快。对于中等或大尺寸,或作为一般答案,他的解决方案(第二版)更好。
非常好,非常感谢。 – brucezepplin