我試圖從包含N
元素的數組Data
創建重疊和非重疊的數據塊。我如何正確地形成Data
的任何N
和blksze
的子陣列?下面的代碼是針對不重疊的塊引發錯誤,因爲在創建子塊時元素的數量超過了。例如,讓Data = [1,2,3,4,5,6]
,然後在MATLAB中創建重疊和非重疊的滑動窗口
重疊的情況下,我應該得到:塊大小
blksze = 2
,我會得到block1 = [1,2], block2 = [2,3], block3 = [3,4], block4 = [4,5], block5 = [5,6]
非重疊:塊大小
blksze = 2
,我會得到block1 = [1,2], block2 = [3,4], block3 = [5,6]
代碼片斷
N= 100;
n = 4;
Data = randi([1 n],1,N);
blksze = 10;
Nblocks = N/blksze;
counter = 1;
for i = 1 : Nblocks
block{i} = Data(counter : counter + blksze - 1);
counter = blksze + 1;
end