MATLAB: Get size of each element in a cell

MATLAB: Get size of each element in a cell

cellMATLABsize;

Hello there,
I would like to know if it is possible to get the number of elements in a given cell by “indexing”.
I did a short workaround like this:
%create some random data
myCell = {rand(100,3),rand(220,5),rand(1111,4), ["Mercury","Gemini","Apollo";
"Skylab","Skylab B","ISS"]};
% getting required information using a loop
for i=1:4
size(myCell{i})
end
The output will be as follows:
ans = 100 3
ans = 220 5
ans = 1111 4
ans = 2 3
solving the probelm. What I am asking is if I can do something more elegant such as:
size(myCell{1:4})
instead of using the for loop. If I try above statement the error message is:
Error using size
Dimension argument must be a positive integer scalar within indexing range
Thank you!

Best Answer

  • You can use the cellfun command:
    cellfun(@size,myCell,'UniformOutput',false)
  • Add a Comment

    Your email address will not be published. Required fields are marked *