필터 지우기
필터 지우기

Create Matrix from Multiple Matrices

조회 수: 7 (최근 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 CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by