How to concatenate cells within cells
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Keegan Sim
el 12 de Mayo de 2023
Say I have X={{1},{2},{3},{4}}, Y={{5},{6},{7;8},{9;10}}
I would like to have Z={{1;5},{2;6},{3;7;8},{4;9;10}},
that is, concatenate X over Y, both 1x4 cell arrays, into Z which is also a 1x4 cell array.
Is there a simple way to do this?
0 comentarios
Respuesta aceptada
Stephen23
el 12 de Mayo de 2023
Editada: Stephen23
el 12 de Mayo de 2023
"Is there a simple way to do this?"
Yes, CELLFUN and VERTCAT:
X = {{1},{2},{3},{4}};
Y = {{5},{6},{7;8},{9;10}};
Z = cellfun(@vertcat,X,Y,'uni',0)
Checking:
Z{:}
Note that storing numeric data in those nested cell arrays is not efficient data design. Simpler numeric arrays are intended for storing numeric data.
2 comentarios
Stephen23
el 12 de Mayo de 2023
Editada: Stephen23
el 12 de Mayo de 2023
"How would you store X,Y, Z and perform this operation using numeric arrays?"
Simply replace the inner nested cell arrays with basic numeric arrays:
X = {1,2,3,4};
Y = {5,6,[7;8],[9;10]};
Z = cellfun(@vertcat,X,Y,'uni',0)
Checking:
Z{:}
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Type Identification en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!