How to combine 2 matrices (or vectors) element by element in order (with different sizes)?

4 views (last 30 days)
How can I combine 2 matrices A and B into one so that the new matrix C = element 1 of A, followed by element 1 of B, then element 2 of A, element 2 of B, etc? Note that vectors A and B are randomly generated and the size might be different.
For example, A = [x1 x2 x3 ...], B = [y1 y2 y3 ...] and then C=[x1 y1 x2 y2 x3 y3 ...]
Thank you.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 14 Aug 2016
Edited: Azzi Abdelmalek on 14 Aug 2016
A=1:3
B=4:6
C=[A;B]
C=C(:)'
%or
C=reshape([A;B],1,[])
  2 Comments
kadaldu
kadaldu on 14 Aug 2016
Thank you Azzi so much for your help and quick response. this (C=reshape([A;B],1,[])) works perfectly.
Thanks again, Khalid
Csanad Levente Balogh
Csanad Levente Balogh on 11 Jan 2021
Hi! I'm looking for a simmilar thing. How would this vork with more than two vectors arranged in a matrix? For example:
a = [1 2 3];
b = [4 5 6];
c = [7 8 9];
d = [10 11 12];
And it should result in:
res =
1 4 2 5 3 6
7 10 8 11 9 12
Which is:
res =
a(1) b(1) a(2) b(2) a(3) b(3)
c(1) d(1) c(2) d(2) c(3) d(3)

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!