在 matlab/octave 中交织 3 个数组以获得正确的模式

Intertwining 3 arrays in matlab / octave to get correct pattern

我知道我可以通过

交织 2 个数组
C = [A(:),B(:)].';   %'
D = C(:)

但是我如何将 3 个数组 与(来回摆动的模式)交织在一起?请参见下图,箭头显示了我试图获得的交织路径模式(每列是一个数组)。我试图获得的数字模式也在它旁边,在一个大列中。 请注意数值只是为了便于阅读的示例。数值也可以是小数

我尝试了下面的代码,但模式不正确。

A=[1,2,3,4,5]
B=[10,20,30,40,50,60,70,80,90]
C=[100,200,300,400,500]

D = [A(:),B(:),C(:)].';   %'
E = D(:)

我在 D 数组中遇到错误,因为 B 数组比 A 和 C 大,但数字模式也不遵循我试图获得的模式.

                 1
                10
               100
                 2
                20
               200
                 3
                30
               300
                 4
                40
               400
                 5
                50
               500
error: horizontal dimensions mismatch (5x1 vs 9x1)

下面是我尝试获取的 3 个数组的模式。

请注意数值只是为了便于阅读的示例。数值也可以是小数

1
10
100
20
2
30
200
40
3
50
300
60
4
70
400
80
5
90
500

PS:我使用的是 Octave 3.8.1,它类似于 matlab

您尝试过以下方法吗?

D = zeros(4 * size(A, 2) - 1, 1); % initialization
D(1 : 4 : end) = A;
D(2 : 2 : end) = B;
D(3 : 4 : end) = C;