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