我有两个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都很大。谢谢!
答案 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(:)'