How can to concatenate data from each column of a cell array into a row?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
ErikaZ
el 26 de Oct. de 2016
Comentada: ErikaZ
el 27 de Oct. de 2016
I have a 1x13 cell array where each column has a 1200x2 array.
I need to reorganize it to a 1x15600 with a 2x1 array in each column. In other words, 1x15600 cell array of 2x1 vectors representing two values over 1200 timesteps to use as a InputSeries of a Neural Network.
Visually, I have:
c1 c2 … c13 -> column of cell array
-------------------------------------------------------
1 1.2 1.3 1.4 … 1.25 1.26
2 2.2 2.3 2.4 … 2.25 2.26
3 3.3 3.3 3.4 … 3.25 3.26
.
.
.
1200 1200.2 1200.3 1200.4 … 1200.25 1200.26
What I need:
c1 c2 … c1200 c1201 c1202 … c15600 -> number of columns of new cell array
------------------------------------------------------------------------
1 2 … 1200 1.3 2.3 … 1200.25
1.2 2.2 … 1200.2 1.4 2.4 … 1200.26
I tried to transpose the original cell array to have a 1x13 w/2x1200 and then concatenate each column but my code never worked as I wanted. Some commands I used: transpose, cat, reshape, arrayfun.
Thank you, Erika
0 comentarios
Respuesta aceptada
James Tursa
el 26 de Oct. de 2016
Editada: James Tursa
el 26 de Oct. de 2016
Like this?
C = your cell array
result = mat2cell(cell2mat(cellfun(@transpose,C,'uni',false)),2,ones(1,15600));
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices 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!