convert a double matrix in cell within a table

3 Ansichten (letzte 30 Tage)
Nikolas Spiliopoulos
Nikolas Spiliopoulos am 11 Mai 2020
Beantwortet: Peng Li am 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!

Akzeptierte Antwort

Peng Li
Peng Li am 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

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by