我试图从包含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