Matlab:复制矩阵的每一行

时间:2014-01-14 19:47:37

标签: matlab matrix

我有一个矩阵,我想复制每一行n次,这样每行连续堆叠n次。

所以基本上如果

n = 2

然后是我的矩阵

A = [1 2 3; 4 5 6; 7 8 9]

应该成为

B = [1 2 3; 1 2 3; 4 5 6; 4 5 6; 7 8 9; 7 8 9]

提前致谢。

1 个答案:

答案 0 :(得分:8)

此问题之前已被问过很多次,例如hereherehere(从今天开始)。

一些解决方案:

kron(A,ones(n,1))
ans =

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

另一个:

reshape(repmat(A(:)',n,[]),[],3);

还有一个:

B = A(ceil((1:size(A,1)*n)/n),:)

接受你的选择!