How to concatenate matrices using for loop?

4 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)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!