MATLAB Answers

0

Concatenate arrays within a loop,

Asked by Vasishta Bhargava on 30 Jun 2018
Latest activity Edited by Stephen Cobeldick on 30 Jun 2018
I would like to concatenate arrays inside a loop.. how can I do it ?

  0 Comments

Sign in to comment.

1 Answer

Answer by Stephen Cobeldick on 30 Jun 2018
Edited by Stephen Cobeldick 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.

  0 Comments

Sign in to comment.