How do I combine four 3x3 matrices into a 6x6 matrix?

11 views (last 30 days)
Suppose I have the matrices
A=[1 1 1
1 1 1
1 1 1]
B=[2 2 2
2 2 2
2 2 2]
C=[3 3 3
3 3 3
3 3 3]
D=[4 4 4;
4 4 4;
4 4 4]
I need the combined matrix to be,
New=[ 1 1 1 2 2 2
1 1 1 2 2 2
1 1 1 2 2 2
3 3 3 4 4 4
3 3 3 4 4 4
3 3 3 4 4 4]
I could write a loop and combine it as such but I would likle to know if there are any functions that could do the same!!

Accepted Answer

Davide Masiello
Davide Masiello on 10 Mar 2022
Edited: Davide Masiello on 10 Mar 2022
If it's really only 4 matrixes, then I would just write
New = [[A,B];[C,D]];
If the code needs to be expanded for a larger number of matrixes then it may be convenient to use a loop, but you should specify how those matrixes must be arranged to form the new one.
  4 Comments
Stephen23
Stephen23 on 10 Mar 2022
"When I suggested a loop I thought of something like concatenating a large number of matrixes"
Using a loop to concatenate (and enlarge) an array on each loop iteration is very inefficient. Much better approaches would be to use indexing to allocate the data to a preallocated array, or use a comma-separated list with CAT or [].

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!