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

しかし、ループのない1行のコマンドが必要です。何かご意見は?

4

2 に答える 2

7

ワンライナーの場合は、cellfun

sum(cellfun(@length,a))

cellfunlengthの各要素にコマンドを適用してから、出力asum追加します。

于 2013-02-07T21:44:24.403 に答える
5

あなたはこれを行うことができます:

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