我有两个matlab向量.第一个有N元素,另一个有元素k*N.我知道是什么k,我想拼接列表,使第一个向量中的每个元素出现k在下一个向量的相应元素之前.例如:
k = 3
x = [1 5 9]
y = [2 3 4 6 7 8 10 11 12]
Run Code Online (Sandbox Code Playgroud)
应该结合起来看起来像这样:
z = [1 2 3 4 5 6 7 8 9 10 11 12]
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以快速完成吗?我的x和y都很大.谢谢!
你可以通过一些重塑来做到这一点
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(:)'
Run Code Online (Sandbox Code Playgroud)