在保持原始顺序的同时复制每个元素n次

时间:2015-08-13 11:39:27

标签: arrays matlab

A = [1 4 5 2 1 2]

我如何简洁地复制每个元素n次,同时保持整体顺序,例如如果n = 3,所需的结果将是:

[1 1 1 4 4 4 5 5 5 2 2 2 1 1 1 2 2 2]

2 个答案:

答案 0 :(得分:3)

Matlab R2015a 或更高版本使用repelem

n = 3;
u = repelem(A,n)

对于旧版本,请使用bsxfun

n = 3;
u = bsxfun(@mtimes ,A(:).',ones(n,1))
u = u(:)

答案 1 :(得分:1)

您可以执行以下操作:

reshape(repmat(a',[3 1]),[],1)