I am trying to create overlapping and non-overlapping blocks of data from an array Data
containingN
elements. How can I correctly form sub-arrays of Data
for any N
and any blksze
? The following code is for non-overlapping blocks throws error because of the number of elements exceed when creating sub-blocks. For example, let Data = [1,2,3,4,5,6]
, then
for overlapping case I should get : block size
blksze = 2
, I would getblock1 = [1,2], block2 = [2,3], block3 = [3,4], block4 = [4,5], block5 = [5,6]
for non-overlapping : block size
blksze = 2
, I would getblock1 = [1,2], block2 = [3,4], block3 = [5,6]
Code snippet
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