通过两个向量递增以将每个向量的部分添加到新向量(Matlab)

Increment through two vectors to add parts of each to a new vector (Matlab)

我有两个向量 colourangle

我想创建一个新的矢量 F,其组成如下:

angle 的前 16 个元素,接着是 colour 的前 512 个元素,接着是 angle 的后 16 个元素,接着是 colour 的第二个 512 个元素等...

我尝试使用两个 while 循环来实现它,如下所示。

colour = reshape(col,1,[]);
angle = reshape(ang,1,[]);
j = 1;
i = 1;
F = [];
while i <= 64
    F = [F angle(i:i+15)];
    i = i + 16;
    while j <= 2048
        F = [F colour(j:j+511)];
    end
    j = j + 512;
end

这不符合我的预期。谁能帮我解决这个问题?

非常感谢。

我会这样解决:

c2=reshape(colour,16,[]);
a2=reshape(angle,512,[]);
merged=[c2;a2];
merged=merged(:);

使用重塑操作,它是 c2 的第一列,然后是 a2 的第一列,然后是 c2 的第二列等等...