How to reshape an M x (aN) matrix into a (aM) x (N) matrix in MATLAB?

1 次查看(过去 30 天)
Hey everyone,
I want to reshape an M x (aN) matrix into a (aM) x (N) matrix in MATLAB without using nested for loops?
An example transformation is given below if a=3. (Each square is given with a size of M x N)

采纳的回答

Bruno Luong
Bruno Luong 2022-3-28
编辑:Bruno Luong 2022-3-28
Use permute
m = 3;
n = 2;
a = 4;
A = reshape(zeros(m,n)+reshape(1:a,[1 1 a]),[m n*a]);
A
A = 3×8
1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
B = reshape(permute(reshape(A,[m n a]),[1 3 2]),[m*a n])
B = 12×2
1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by