我有一个方阵,用n表示n;我想将此矩阵扩展到n ^ 2乘以n ^ 2,以便重复位置中的值。 
例如矩阵是


 2 3 && xA; 5 6
我想生成矩阵B,以便


 2 2 3 3

 2 2 3 3
&# xA; 5 5 6 6

 5 5 6 6
如何在matlab中完成?并且需要对任何方矩阵进行推广


附加问题:如果我想复制如下
 2 3 2 3

 5 6 5 6

 2 3 2 3

 5 6 5 6
如何归档?

答案 0 :(得分:3)
您可以使用Kronecker张量产品:
B = kron(A,ones(n));
答案 1 :(得分:1)
让数据
M = [2 3; 5 6]; % initial matrix
v = 2; % vertical repetition factor
h = 3; % horizontal repetition factor
除了使用@Omg's answer所示的 kron
外,您还可以使用索引:
result = M(ceil(1/v:1/v:end), ceil(1/h:1/h:end));
或者,在最近的Matlab版本中,您可以使用 repelem
:
result = repelem(M, v, h);
以上任何一个都给出了
result =
2 2 2 3 3 3
2 2 2 3 3 3
5 5 5 6 6 6
5 5 5 6 6 6