Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 从两个排序的矩阵中创建新矩阵_Matlab_Matrix - Fatal编程技术网

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的索引。