MATLAB: Need Help in vectors combinations

matricesvectors

I have 2 variables (A,B) .. The first variable (A) consists of 3 vectors of size (1,9):
A(:,:,1) = [1 2 3 4 5 6 7 8 9]
A(:,:,2) = [1 4 7 2 5 8 3 6 9]
A(:,:,3) = [3 6 9 2 5 8 1 4 7]
The second variable (B) consists of 2 vectors of size (1,9):
B(:,:,1) = [11 12 13 14 15 16 17 18 19]
B(:,:,2) = [11 14 17 12 15 18 13 16 19]
How can I obtain all combinations of matrix (C) with size of (2,9) that conisits of A,B vectors for example: I want to obtain:
C(:,:,1) = [A(:,:,1) ; B(:,:,1)]
C(:,:,2) = [A(:,:,1) ; B(:,:,2)]
C(:,:,3) = [A(:,:,2) ; B(:,:,1)]
C(:,:,4) = [A(:,:,2) ; B(:,:,2)]
C(:,:,5) = [A(:,:,3) ; B(:,:,1)]
C(:,:,6) = [A(:,:,3) ; B(:,:,2)]

Best Answer

Use meshgrid and vertcat:
>> [Xa,Xb] = meshgrid(1:size(A,3),1:size(B,3));
>> C = vertcat(A(:,:,Xa(:)),B(:,:,Xb(:)))
C(:,:,1) =
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
C(:,:,2) =
1 2 3 4 5 6 7 8 9
11 14 17 12 15 18 13 16 19
C(:,:,3) =
1 4 7 2 5 8 3 6 9
11 12 13 14 15 16 17 18 19
C(:,:,4) =
1 4 7 2 5 8 3 6 9
11 14 17 12 15 18 13 16 19
C(:,:,5) =
3 6 9 2 5 8 1 4 7
11 12 13 14 15 16 17 18 19
C(:,:,6) =
3 6 9 2 5 8 1 4 7
11 14 17 12 15 18 13 16 19