Concatenate arrays within a loop,

I would like to concatenate arrays inside a loop.. how can I do it ?

 Accepted Answer

Stephen23
Stephen23 on 30 Jun 2018
Edited: Stephen23 on 30 Jun 2018
Easy, given any number of arrays in a cell array C. You could use a loop like this, although it is inefficient because the output array is not preallocated:
C = {[1,2],[3,4],...} % cell array of arrays.
A = C{1};
for k = 2:numel(C)
A = [A;C{k}];
end
Simpler and more efficient would be to concatenate them all at once, without a loop, e.g.:
A = vertcat(C{:})
Whatever you do, do NOT try to access variable names dynamically in a loop! Read this to know why:
Using an array (e.g. a cell array) and indexing is much simpler, neater, much more efficient, less buggy, and easier to debug.

More Answers (0)

Categories

Asked:

on 30 Jun 2018

Edited:

on 30 Jun 2018

Community Treasure Hunt

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

Start Hunting!