4

我有一个单元阵列,

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

但是,我需要一个没有循环的行命令。有什么想法吗?

4

2 回答 2

7

对于单线,使用cellfun

sum(cellfun(@length,a))

cellfun将命令应用于 的length每个元素a,然后sum添加输出。

于 2013-02-07T21:44:24.403 回答
5

你可以这样做:

length( [ a{:} ] )
于 2013-02-07T21:45:21.690 回答