我有一个单元格数组,
a=cell(2,1);
a{1,1}=[1 2 3];
a{2,1}=[4 5];
我需要计算a
字段长度的总和,即答案应为3+2=5
。这可以使用for
循环
sum=0;
for i=1:size(a,1)
sum = sum + size(a{i},2);
end
但是,我需要一个没有循环的行命令。有什么想法吗?
答案 0 :(得分:6)
对于单行,请使用cellfun
sum(cellfun(@length,a))
cellfun
将length
命令应用于a
的每个元素,然后sum
添加输出。
答案 1 :(得分:5)
你可以这样做:
length( [ a{:} ] )