У меня есть массив данных X
, который содержит N
количество элементов, записанных во времени. Таким образом, массив элементов представляет собой временной ряд. Я хочу разделить временной ряд, чтобы создать непересекающиеся последовательности фиксированной длины L=500
. Это можно рассматривать как размер окна. Делать это вручную очень утомительно, что я пытался сделать ниже. Другая проблема состоит в том, что элементы в X
могут иметь различную длину, т. Е. N
может иметь 90000 элементов, затем снова может иметь 1400 элементов. Но N >L
. Как я могу создать последовательности длины L
для всех различных X
элегантным способом, который работает для всех длин 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