我需要一个函数,将一个矢量分割成一个重叠的较小的帧,如buffer
,但不是按列,而是应该按行完成。
这就是buffer
的工作原理:
x = 1:20
x = buffer(x, 10, 5);
x = 0 1 6 11
0 2 7 12
0 3 8 13
0 4 9 14
0 5 10 15
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20
我想要的是这个:
x = 0 0 1 2
1 2 3 4
3 4 5 6
5 6 7 8
7 8 9 10
9 10 11 12
11 12 13 14
13 14 15 16
15 16 17 18
17 18 19 20
是否有任何功能或方法可以实现这一目标?也许组合缓冲+一些重新排列?
答案 0 :(得分:2)
首先在列中找出答案,然后转置结果矩阵:
buffer(x, 4, 2).'