Create Matrix from Multiple Matrices

11 ビュー (過去 30 日間)
Rounak Saha Niloy
Rounak Saha Niloy 2022 年 3 月 15 日
回答済み: Rounak Saha Niloy 2022 年 3 月 15 日
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?

採用された回答

Rounak Saha Niloy
Rounak Saha Niloy 2022 年 3 月 15 日
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, ...)

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2022 年 3 月 15 日
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 2022 年 3 月 15 日
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

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by