快速将旧矩阵复制到新矩阵的方法

时间:2012-11-29 11:14:12

标签: matlab matrix octave

例如,我有原始矩阵(m)看起来像这个

1 2
3 4

然后我使用n = padarray(m,[oldMatrixRow,OldMatrixColumn]);我会

x x x x x x
x x x x x x 
x x 1 2 x x 
x x 3 4 x x 
x x x x x x
x x x x x x

这里的要点是我希望我的新矩阵看起来像这样

1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4

有没有聪明的方法呢?
非常感谢

3 个答案:

答案 0 :(得分:4)

您想要repmat

B = repmat(A,m,n)

其中A是您要重复的矩阵,mn定义了重复的维度

在这种情况下,请调用原始矩阵A并使用

B = repmat(A,3,3)

获得所需的输出

答案 1 :(得分:3)

假设你只想重复你的矩阵很多次,使用repmat很简单:

m = [1 2;3 4];
n = repmat(m,3,3)

答案 2 :(得分:1)

只是提供替代解决方案:

kron(ones(3), [1 2; 3 4])