在matlab中使矩阵"n"更大

Hos*_*ein 5 matlab matrix-multiplication

我有一个像这样的矩阵

1 2 3 4 
2 3 4 5
3 4 5 6 
Run Code Online (Sandbox Code Playgroud)

是否有任何函数在matlab中使行n次和列m次,我的意思是例如对于n = 2和m = 3,结果是:

1 1 1 2 2 2 3 3 3 4 4 4 
1 1 1 2 2 2 3 3 3 4 4 4 
2 2 2 3 3 3 4 4 4 5 5 5 
2 2 2 3 3 3 4 4 4 5 5 5 
3 3 3 4 4 4 5 5 5 6 6 6 
3 3 3 4 4 4 5 5 5 6 6 6 
Run Code Online (Sandbox Code Playgroud)

谢谢

Oli*_*Oli 9

您可以使用kronecker产品:

 A=[1 2 3 4;5 6 7 8;9 10 11 12];
 kron(A,ones(2,3))
ans =
     1     1     1     2     2     2     3     3     3     4     4     4
     1     1     1     2     2     2     3     3     3     4     4     4
     5     5     5     6     6     6     7     7     7     8     8     8
     5     5     5     6     6     6     7     7     7     8     8     8
     9     9     9    10    10    10    11    11    11    12    12    12
     9     9     9    10    10    10    11    11    11    12    12    12
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以查看维基百科:

http://en.wikipedia.org/wiki/Kronecker_product