Как я могу объединить таблицы с разным количеством строк?
В настоящее время я пытаюсь создать диаграмму обработки сигналов в MATLAB. Для того, чтобы сделать это, у меня есть 3 таблицы, для которых я хотел бы построить разные сигналы, от которых потребовалось бы объединение для того, чтобы они были нанесены на один и тот же график (но выделены так, чтобы видеть сигналы отдельно).
Пока что я попробовал:
% The variables below are examples of the tables that contain
% the variables I would like to plot.
s1 = table(data1.Time, data1.Var1); % This is a 8067x51 table
s2 = table(data2.Time, data2.Var2); % This is a 2016x51 table
s3 = table(data3.Time, data3.Var3); % This is a 8065x51 table
% This gives an error of 'must contain same amount of rows.'
S = [s1, s2, s3];
% This puts the three tables into a cell array
S = {s1, s2, s3};
Любые предложения приветствуются.
1 ответ
Решение
Вы были близки Вам просто нужно объединить ваши таблицы вертикально, а не горизонтально:
S = [s1; s2; s3];
% Or in functional form
S = vertcat(s1, s2, s3);
Обратите внимание, что это работает, только если все таблицы имеют одинаковое количество переменных (то есть столбцов).