Matlab 从两个排序的矩阵中创建新矩阵
我有两个Matlab 从两个排序的矩阵中创建新矩阵,matlab,matrix,Matlab,Matrix,我有两个NxN矩阵A和B。我希望创建一个新的MxM矩阵C,由交替放置的矩阵a和B组成 偶数行中的顺序应为:ab A B… 而奇数行必须从矩阵B开始,如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:
NxN
矩阵A
和B
。我希望创建一个新的MxM
矩阵C
,由交替放置的矩阵a
和B
组成偶数行中的顺序应为:
ab A B
…而奇数行必须从矩阵
B
开始,如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
如何做到这一点?您可以构建矩阵
[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);
文中提到的顺序与示例中提到的顺序相同吗?有打字错误吗?如果是,请修复它们。请注意,MATLAB具有基于1的索引。