How do I combine four 3x3 matrices into a 6x6 matrix?
11 views (last 30 days)
Show older comments
Rakshith M
on 10 Mar 2022
Commented: Rakshith M
on 13 Mar 2022
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!!
0 Comments
Accepted Answer
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
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 [].
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!