如何通过重复矩阵​​行来扩大矩阵?

How to enlarge matrix by repeating matrix rows?

初始矩阵为A = [ [1 2 3; 4 5 6; 7 8 9]。每行将被复制 3 次,使得输出矩阵为

B = [1 2 3;1 2 3;1 2 3;4 5 6; 4 5 6; 4 5 6; 7 8 9; 7 8 9; 7 8 9]
B = replicate(permute(A,[3 2 1]),3,1)

你是这个意思吗?

kron(A,ones(3,1))

答案=

 1     2     3
 1     2     3
 1     2     3
 4     5     6
 4     5     6
 4     5     6
 7     8     9
 7     8     9
 7     8     9

R2015a开始,有一个专门的函数:repelem.

A = [1 2 3; 4 5 6; 7 8 9]
B = repelem(A,3,1)

B =

     1     2     3
     1     2     3
     1     2     3
     4     5     6
     4     5     6
     4     5     6
     7     8     9
     7     8     9
     7     8     9

或者只是索引:

A = [1 2 3; 4 5 6; 7 8 9]; % original matrix
m = 3; % row repetition factor
n = 1; % column repetition factor
B = A(ceil(1/m:1/m:size(A,1)), ceil(1/n:1/n:size(A,2)));