Matlab:复制矩阵的每一行

Jim*_*nor 1 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] .

提前致谢.

Ste*_*fin 8

这个问题之前已被问过很多次,比如这里,这里这里(从今天开始).

一些解决方案

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

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

另一个:

reshape(repmat(A(:)',n,[]),[],3);
Run Code Online (Sandbox Code Playgroud)

还有一个:

B = A(ceil((1:size(A,1)*n)/n),:)
Run Code Online (Sandbox Code Playgroud)

随便挑选!