MATLAB:复制向量的前n个元素,然后跳过n个元素,然后复制下面的n个元素

时间:2015-10-27 12:50:17

标签: matlab vector

向量x 2000 -by- 1

我想获取向量20的第一个x元素并将它们复制到向量y,然后复制向量20的下一个x元素}向量z,然后将下一个20元素复制到向量y,依此类推。

我知道我可以通过循环来做到这一点,但我希望找到一种更有效的方法。

1 个答案:

答案 0 :(得分:4)

这可以通过将矢量重新整形为矩阵,选择奇数/偶数列并最终展平矩阵来实现:

 m = reshape(a, 20, []);
 x = m(:,1:2:end); x = x(:);
 z = m(:,2:2:end); z = z(:);