我有两个NxN
矩阵A
和B
。我希望创建一个新的MxM
矩阵C
,由交替放置的矩阵A
和B
组成。
偶数行中的顺序应为:A B A B A B
...
而奇数行必须从矩阵B
开始,如B A B A
...
例如,
对于N=2
,如果:
A = [1 2;
3 4];
B = [5 6;
7 8];
然后是M=2
C = [A B;
B A];
%so that:
C = [1 2 5 6;
3 4 7 8;
5 6 1 2;
7 8 3 4];
M=3
:
C = [A B A;
B A B;
A B A];
M=4
C = [A B A B;
B A B A;
A B A B;
B A B A];
通过这种方式,得到的矩阵将具有相同矩阵A
或B
的所有对角线。
怎么做?
答案 0 :(得分:1)
您可以构建矩阵[A B; B A]
并以模块方式对其进行索引:
A = [1 2; 3 4];
B = [5 6; 7 8];
M = 3;
C = [A B; B A];
C = C(mod(0:size(A,1)*M-1, size(C,1))+1, mod(0:size(A,2)*M-1, size(C,2))+1);