0

我需要一个函数,将向量拆分为具有重叠的较小帧,例如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

有什么功能或方法可以实现吗?也许缓冲区+一些重新排列的组合?

4

1 回答 1

2

首先找出列中的答案,然后转置结果矩阵:

buffer(x, 4, 2).'
于 2013-10-10T12:33:32.240 回答