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

4 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Stephen23
Stephen23 le 19 Avr 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}

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by