How do I combine four 3x3 matrices into a 6x6 matrix?
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Davide Masiello
2022-3-10
编辑:Davide Masiello
2022-3-10
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 个评论
Stephen23
2022-3-10
"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 [].
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!