Create Matrix from Multiple Matrices

5 views (last 30 days)
I have 3 matrices as follows-
A = [1 2 3]
A = 1×3
1 2 3
B = [4 5 6]
B = 1×3
4 5 6
C = [7 8 9]
C = 1×3
7 8 9
I want to create a matrix D as follows-
[1 4 7; 1 4 8; 1 4 9; 1 5 7; 1 5 8; 1 5 9; 1 6 7; 1 6 8; 1 6 9; 2 4 7; 2 4 8; 2 4 9; 2 5 7; 2 5 8; 2 5 9; 2 6 7; 2 6 8; 2 6 9; 3 4 7; 3 4 8; 3 4 9; 3 5 7; 3 5 8; 3 5 9; 3 6 7; 3 6 8; 3 6 9]
ans = 27×3
1 4 7 1 4 8 1 4 9 1 5 7 1 5 8 1 5 9 1 6 7 1 6 8 1 6 9 2 4 7
How do I do this?

Accepted Answer

Rounak Saha Niloy
Rounak Saha Niloy on 15 Mar 2022
I have got a better option since my matrix size is large and no. of matrices is also large.
If my matrices are- A, B,C and so on...
D= combvec(A,B,C, ...)

More Answers (2)

Walter Roberson
Walter Roberson on 15 Mar 2022
A = [1 2 3];
B = [4 5 6];
C = [7 8 9];
[Ag, Bg, Cg] = ndgrid(C, B, A);
D = fliplr([Ag(:), Bg(:), Cg(:)])
D = 27×3
1 4 7 1 4 8 1 4 9 1 5 7 1 5 8 1 5 9 1 6 7 1 6 8 1 6 9 2 4 7

Kevin Holly
Kevin Holly on 15 Mar 2022
A = [1 2 3];
B = [4 5 6];
C = [7 8 9];
D = [];
for i = A
for ii = B
for iii = C
D = [D;i ii iii];
end
end
end
D
D = 27×3
1 4 7 1 4 8 1 4 9 1 5 7 1 5 8 1 5 9 1 6 7 1 6 8 1 6 9 2 4 7

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!