MATLAB: How to get the lengths of each entry in a cell array without using a loop

cell arraysvectorizing

How can I generate a vector with one entry for the length of each vector in a cell array without using a loop. e.g.
>> ca={1:4,1:9,3:15}
ca =
1×3 cell array
{1×4 double} {1×9 double} {1×13 double}
I want a vector with [4 9 13]
Obviously I could do :
>> for i=1:length(ca);lca(i)=length(ca{i});end
>> lca
lca =
4 9 13
But I have an aversion to using a loop for something like this.

Best Answer

cellfun(@length,ca)