convert a double matrix in cell within a table

6 vues (au cours des 30 derniers jours)
Nikolas Spiliopoulos
Nikolas Spiliopoulos le 11 Mai 2020
Hi all,
I have a table with size 420x4 (screenshot attached)
However, the first column is a double matrix (420x4) while the rest of the columns are cells
How is possible to convert the double matrix in column 1, in a cell array with each row equal to the matrix row?
I have tried some things but I get an error
thanks in advance!

Réponse acceptée

Peng Li
Peng Li le 11 Mai 2020
t = table([ones(1, 4); ones(1, 4)*2; ones(1, 4)*3])
t =
3×1 table
Var1
________________
1 1 1 1
2 2 2 2
3 3 3 3
>> out = varfun(@(x) mat2cell(x, ones(1, size(x, 1)), size(x, 2)), t, 'InputVariables', 'Var1')
out =
3×1 table
Fun_Var1
____________
{1×4 double}
{1×4 double}
{1×4 double}
>> out.Fun_Var1{1}
ans =
1 1 1 1
>> out.Fun_Var1{2}
ans =
2 2 2 2
>> out.Fun_Var1{3}
ans =
3 3 3 3

Plus de réponses (0)

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by