I have imported a table from an external file via textscan. For example: A = rawCellColumns2(:, 1); B = cell2mat(rawNumericColumns2(:, 1)); C = cell2mat(rawNumericColumns2(:, 2)); D = cell2mat(rawNumericColumns2(:, 3)); E = cell2mat(rawNumericColumns2(:, 4)); A is "datetime" in this form: 2019-07-10 22:00:00 B, C, D, and E are all numbers. I now want to make a new table (Z) by concatenating A - E. However, I get the error below because of the datetime column (I have no problem concatenating the columns of numbers by doing B(:), C(:), D(:), E(:)): Error using horzcat Dimensions of matrices being concatenated are not consistent. People have addressed this problem here at Matlab Answers, but as a bit of a newbie, I would be very grateful if someone could please provide a newbie-level explanation. I am using 2016a. Thank you very much for any advice.
John Williams answered .
2025-11-20
v = (0:4).';
dt = datetime('today') + days(v);
x = v.^2;
Now let's build the table.
T = table(dt, x)
See the documentation for table to learn how to work with data stored in a table.
doc table
One example: you can extract the row of the table corresponding to x = 4.
T(T.x == 4, :)