Efficient way to convert m by n array into a single column table with each row containing n by 1 array?

7 visualizaciones (últimos 30 días)
Let's say I have a 4 by 3 array:
A = [1 3 5; 2 6 7; 5 8 9; 3 2 1];
What is the fastest/most memory efficient way of converting this into a single column table with the first row containing a column array of the first row of A, the second row containing a column array of second row of A etc.
I would like to end up with something like the result of the following:
row1 = A(1, :)';
row2 = A(2, :)';
row3 = A(3, :)';
row4 = A(4, :)';
A = table({row1; row2; row3; row4})
A = 4×1 table
Var1 ____________ {3×1 double} {3×1 double} {3×1 double} {3×1 double}
What is the best way to automate this for an arbitrary m by n array - preferably without using a loop.

Respuesta aceptada

Stephen23
Stephen23 el 19 de Abr. de 2023
A = [1 3 5; 2 6 7; 5 8 9; 3 2 1];
T = cell2table(num2cell(A.',1).')
T = 4×1 table
Var1 ____________ {3×1 double} {3×1 double} {3×1 double} {3×1 double}

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by