2012-01-30 9 views
8
a={'a','aa','aaa','aaaa'} 
length(a) 
    4 
size(a) 
    1 4 

にはどうすればいいつのコマンドとセル配列の各要素の長さを得ることができますか?上記の例で希望する出力は[1 2 3 4]となります。Matlabの長さは

答えて

22
cellfun('length',a) 

"aの各要素xlength(x)を適用します"。

cellfun docs

+0

私が探していたまさに。ありがとうございました。 – user001

+3

もっと「近代的な」使い方は、関数ハンドルを最初の引数、つまり 'cellfun(@length、a)'として与えることです。 – Edric

0

arrayfun - 配列 チェックドキュメントの各要素に関数を適用: http://www.mathworks.com/help/techdoc/ref/arrayfun.html

+0

この場合、ARRAYFUNについて本当に確かですか?はるかに単純でより明白な 'cellfun(@length、a)'ではなく、 'arrayfun(@ c)length(c {1})、a) – Edric

関連する問題