拼接matlab矢量

时间:2010-11-29 03:30:50

标签: matlab

我有两个matlab向量。第一个元素有N个元素,另一个元素有k*N个元素。我知道k是什么,我希望拼接列表,使第一个向量中的每个元素出现在下一个向量的相应k元素之前。例如:

k = 3
x = [1 5 9]
y = [2 3 4 6 7 8 10 11 12]

应该结合起来看起来像这样:

z = [1 2 3 4 5 6 7 8 9 10 11 12]

有一种简单的方法可以快速完成吗?我的x和y都很大。谢谢!

1 个答案:

答案 0 :(得分:7)

你可以通过一些重塑

来做到这一点
k = 3
x = [1 5 9]
y = [2 3 4 6 7 8 10 11 12]

%# make a k-by-n array
z = reshape(y,k,[]);

%# catenate with x
z = [x;z];

%# reorder
z = z(:)'