Concatenate arrays within a loop,

97 visualizaciones (últimos 30 días)
VBBV
VBBV el 30 de Jun. de 2018
Editada: Stephen23 el 30 de Jun. de 2018
I would like to concatenate arrays inside a loop.. how can I do it ?

Respuesta aceptada

Stephen23
Stephen23 el 30 de Jun. de 2018
Editada: Stephen23 el 30 de Jun. de 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.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by