I have two cell arrays of size 1*32 but contains different size of columns like 1*145 double, 1*1035 double (screenshot attached). I want to concatenate them using following pseudo code. How can I do that? Any suggestions would help.

1 view (last 30 days)
initialize matrix data_concat of size channels X total time points
initialize matrix time_concat of size 1 X total time points
loop over data.trial and data.time (have the same size)
data_concat(:,appropriate time indices) = data.trial{k}(:,:);
time_concat(1,appropriate time indices) = data.time{k}(:);
end loop
data.trial = data_concat;
data.time = time_conc

Accepted Answer

Walter Roberson
Walter Roberson on 1 Jul 2018
newtrial = horzcat(data.trial{:});
newtime = horzcat(data.time{:});
data.trial = newtrial;
data.time = newtime;

More Answers (0)


Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!