MATLAB - 重复行n次(从A = [1; 2; 3]创建B = [1; 2; 3; 1; 2; 3; 1; 2; 3])

时间:2017-03-03 20:15:00

标签: matlab

我想从列矩阵A = [1; 2; 3]创建另一个重复A次的列矩阵。例如,当n = 3时,新矩阵将是B = [1; 2; 3; 1; 2; 3; 1; 2; 3]。有没有办法(最好不使用循环)? 谢谢。

3 个答案:

答案 0 :(得分:3)

你可以使用repmat这是一个很棒的功能:

repmat(A,[n,1])

第二个参数的第一个值是第一个维度(列)中的重复,第二个维度中的第二个(行)等。

答案 1 :(得分:1)

另一种方法:

A2=A(:,ones(1,n));
B=A2(:)

答案 2 :(得分:0)

另一种方法是使用padarray

a = [1 2 3]
b = padarray(a, [2 0], 'post', 'circular')

post表示添加到数组的末尾,circular使用循环重复的元素填充。