MATLAB Answers

How to concatenate matrices using for loop?

20 views (last 30 days)
Dear All:
I have a group of matrices of size (100X3). If possible, I want to concatenate them in one larger matrix using a for a loop. I want to use a loop because the number of matrices differs for each run so using the command [ x1 x2 ...] is not practical.
Thank you, Aziz

  2 Comments

James Tursa
James Tursa on 9 Dec 2017
How are the individual matrices stored? In individual variable names like x1, x2, etc.? Or in a cell array? Or as fields of a struct? Or ...?
Abdulaziz Abutunis
Abdulaziz Abutunis on 9 Dec 2017
Thank you for the respond. The are stored such as x{1}, x{2}..... each has the same size 68*3 elements
Thanks again

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 9 Dec 2017
If x is a cell array, and you simply want all of them, then
result = cell2mat(x);
or if you want them stacked vertically
result = cell2mat(x');
If you want a subset of the cells, then specify the range. E.g.,
result = cell2mat(x(range));
or if you want them stacked vertically
result = cell2mat(x(range)');

  1 Comment

Abdulaziz Abutunis
Abdulaziz Abutunis on 9 Dec 2017
Wow it did exactly what i want in an easy way, thank you so much James Tursa

Sign in to comment.

More Answers (0)

Sign in to answer this question.