How to combine two vectors column-by-column?

17 views (last 30 days)
I have two matrices, A and B.
A = [1,3,5,7,9,11,13,15]
A = 1×8
1 3 5 7 9 11 13 15
B = [2,4,6,8,10,12,14,16]
B = 1×8
2 4 6 8 10 12 14 16
How can I combine these two to give me a third matrix C, which is as follows?
C = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
C = 1×16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
So, basically, C should be [A(:,1), B(:,1), A(:,2), B(:,2), ...]

Accepted Answer

Stephen23
Stephen23 on 17 Mar 2023
A = [1,3,5,7;9,11,13,15;17,19,21,23]
A = 3×4
1 3 5 7 9 11 13 15 17 19 21 23
B = [2,4,6,8;10,12,14,16;18,20,22,24]
B = 3×4
2 4 6 8 10 12 14 16 18 20 22 24
C = reshape(permute(cat(3,A,B),[1,3,2]),size(A,1),[])
C = 3×8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  1 Comment
Stephen23
Stephen23 on 17 Mar 2023
A = [1,3,5,7;9,11,13,15;17,19,21,23];
B = [2,4,6,8;10,12,14,16;18,20,22,24];
Another approach:
C = repelem(A,1,2);
C(:,2:2:end) = B
C = 3×8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Sign in to comment.

More Answers (1)

Sarvesh Kale
Sarvesh Kale on 14 Mar 2023
Hi Jake,
You can see the following code snippet
A = [1,3,5,7,9,11,13,15];
B = [2,4,6,8,10,12,14,16];
C=[A;B] % row wise concatenation
C = 2×8
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16
C=C(:)'; % traversal will be column wise as matrix elements are stored in column major format
C
C = 1×16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
I hope this helps your query
Thank you
  1 Comment
Jake
Jake on 17 Mar 2023
Thank you for the solution, @Sarvesh Kale! I'm curious to know how could one do this when the matrices are multi-dimensional. For instance, what if,
A = [1,3,5,7;9,11,13,15;17,19,21,23]
A = 3×4
1 3 5 7 9 11 13 15 17 19 21 23
B = [2,4,6,8;10,12,14,16;18,20,22,24]
B = 3×4
2 4 6 8 10 12 14 16 18 20 22 24
How could we get the matrix C by combining every-other column of A, and B, such that, (simply to demonstrate)?
C = [1,2,3,4,5,6,7,8; 9,10,11,12,13,14,15,16; 17,18,19,20,21,22,23,24]
C = 3×8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Sign in to comment.

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!