How to reshape a cell array of cell arrays

7 visualizaciones (últimos 30 días)
Alan
Alan el 6 de Abr. de 2012
I have a cell array that in turn is composed of cell arrays. I would like to collapse the cell array at the top level so that all cells are on the same level. The top level cell array is 1 x 10 and each of the 10 cells contain an N x 1 cell array where N is variable and not necessarily the same for each of the 10 original cells. What I would like to do is similar to the (:) syntax for arrays, so that I collapse the top dimension. Any help would be appreciated!

Respuesta aceptada

Kye Taylor
Kye Taylor el 6 de Abr. de 2012
I assume your 1-by-10 cell is just like the 1-by-10 cell C created with the commands
C = cell(1,10);
for i = 1:10
N = randi(100);
C{i} = num2cell(rand(N,1));
end
You can easily do what you're trying to do with the command
CNew = cat(1,C{:});
Like a hot bath and massage...
  2 comentarios
Alan
Alan el 6 de Abr. de 2012
I like it! Thanks, Alan
Kye Taylor
Kye Taylor el 6 de Abr. de 2012
My pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Alan
Alan el 6 de Abr. de 2012
So this seems to work: B = arrayfun(@(x)cat(1,A{:,x}),1:size(A,2),'un',0); although B is still a 1x1 cell and I still have to reference it as B{1}{M} to get the cell (M) that I want.

Categorías

Más información sobre Data Types en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by