How to find the size of a cell array

229 visualizzazioni (ultimi 30 giorni)
Brian
Brian il 21 Giu 2011
I have a cell array (raw from xlsread) that contains multiple data types. Is there a way to measure the size (length and width) of this cell array or convert it to a matrix so I can use the size function?

Risposta accettata

Sean de Wolski
Sean de Wolski il 21 Giu 2011
A = cell(20,11);
size(A)
ans =
20 11
works for me... ? Or do you want the size of the contents of each cell?
cellsz = cellfun(@size,A,'uni',false);
Addendum per comment:
I still am not getting what you want.
clear A
>> A{1} = single(ones(4));
>> A{2} = uint8(toeplitz(1:10));
>> A{3} = 'Hello World'
A =
[4x4 single] [10x10 uint8] 'Hello World'
>> size(A)
ans =
1 3
>> cellsz = cellfun(@size,A,'uni',false);
>> cellsz{:}
ans =
4 4
ans =
10 10
ans =
1 11
  5 Commenti
Labeeb Ahmed
Labeeb Ahmed il 6 Ago 2012
One more doubt pls..
I have a cell array that may be empty,having one element or more than one element. how can i make decision accorind to size of cell array ?? ie. size(s) = 0 1 or size(s) = 1 1 or size(s) = 3 1 . I only need the information that how many rows are there Thnks in advance
Sean de Wolski
Sean de Wolski il 6 Ago 2012
@Labeeb, this really should be a new question. The answer is to use isempty.
doc isempty

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by