Concatenate arrays within a loop,

30 vues (au cours des 30 derniers jours)
VBBV
VBBV le 30 Juin 2018
Modifié(e) : Stephen23 le 30 Juin 2018
I would like to concatenate arrays inside a loop.. how can I do it ?

Réponse acceptée

Stephen23
Stephen23 le 30 Juin 2018
Modifié(e) : Stephen23 le 30 Juin 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.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by