在 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;
我知道我可以通过
交织 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;