MATLAB Answers

create table from matrix and cell variables

14 views (last 30 days)
Ildiko Magda
Ildiko Magda on 13 Jul 2019
Commented: Ildiko Magda on 13 Jul 2019
I would like to create a table using multiple variables, but can't figure out how to. my output table should look like a 21 x 176 table.
I have 4 variables
A = 18 x257 x 176 double
B = 176 x1 cell
C= 176 x 1 cell
D = 176 x 1 cell
I would like a table with 21 rows and 176 columns, but I can't figure out how. The rows would be A(1), B, C, and D
Thank you for any help ,

  1 Comment

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 13 Jul 2019
Edited: the cyclist on 13 Jul 2019
I'm not certain what you want, but I think this is it.
% Make up some original inputs
A = rand(18,257,176);
B = cell(176,1);
C = cell(176,1);
D = cell(176,1);
% Pull out the slice of A for the table
As = A(:,1,:);
% Transform each variable to the correct shape for the table, and also
% convert A to cell for convenience
Ar = reshape(As,[18,176]);
At = num2cell(Ar);
Bt = B.';
Ct = C.';
Dt = D.';
% Concatenate to one cell array
wholeCell = [At; Bt; Ct; Dt];
% Convert the cell array to a table
tbl = cell2table(wholeCell);
Many of these steps could be combined, for shorter code, but I thought it would be to be clearer about what each step is doing.

  1 Comment

Ildiko Magda
Ildiko Magda on 13 Jul 2019
Absolutely amazing, thank you. And thank you for the detailed steps, I'm learning, so it's very useful to me to understand

Sign in to comment.

More Answers (0)

Sign in to answer this question.