How to transpose a block matrix

8 views (last 30 days)
Ubaldo
Ubaldo on 27 Oct 2016
Commented: Ubaldo on 27 Oct 2016
Hi all,
How to transpose in a nice way a block matrix? Say that I have A = [A11 A12 A13;A21 A22 A23;A31 A32 A33], where each Aij is a n*m matrix, how to compute A'= [A11 A21 A31;A12 A22 A32;A13 A23 A33]?

Accepted Answer

Massimo Zanetti
Massimo Zanetti on 27 Oct 2016
Edited: Massimo Zanetti on 27 Oct 2016
Use cells, transpose them.
C={[1,1;1,1],[2,2;2,2];[3,3;3,3],[5,5;5,5]};
D=C';
%to get matrices out of cells
cell2mat(C)
cell2mat(D)
  2 Comments
Ubaldo
Ubaldo on 27 Oct 2016
Oh, but wait one second. To properly compute the transpose I also have to transpose each single sub-matrix. For example
C={[1 2;3 4],[1 2;3 4];[9 8;7 6],[9 8;7 6]}, then the transpose of C shall be C_transp = {[1 3;2 4],[9 7;8 6];[1 3;2 4],[9 7;8 6]}

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!