【发布时间】:2020-06-20 18:48:31
【问题描述】:
我有一个数据数组X,其中包含N及时记录的元素数量。所以元素数组代表一个时间序列。我想拆分时间序列以创建固定长度L=500 的非重叠序列。这可以被认为是窗口大小。手动操作非常繁琐,我在下面尝试这样做。还有一个问题是X 中的元素可以有不同的长度,即N 可以有90000 个元素,然后又可以有1400 个元素。但是N >L。如何以优雅的方式为所有不同的X 创建长度为L 的序列,适用于所有X 的长度?这就是我试图做的,但在计算中迷失了方向。应感谢帮助。
N = 90000; %this varies for different data X
L = 500; % this is fixed
X = rand(N,1);
nSplits = N/L;
%Worked out example
X1 = X(1:L,:);
X2 = X(L+1:2L,:);
X3 = X(2L+1:2L+1+L,:); %AND SO ON TILL nSplit number of data vectors are created from X
【问题讨论】:
标签: arrays matlab time-series