Crie janelas deslizantes sobrepostas e não sobrepostas no MATLAB

Estou tentando criar blocos de dados sobrepostos e não sobrepostos de uma matrizData contendoN elementos. Como posso formar corretamente sub-matrizes deData para qualquerN e qualquerblksze? O código a seguir é para blocos que não se sobrepõem geram erro devido ao número de elementos exceder ao criar sub-blocos. Por exemplo, deixeData = [1,2,3,4,5,6], então

para o caso de sobreposição, devo obter: tamanho do blocoblksze = 2, Eu pegariablock1 = [1,2], block2 = [2,3], block3 = [3,4], block4 = [4,5], block5 = [5,6]

para não sobreposição: tamanho do blocoblksze = 2, Eu pegariablock1 = [1,2], block2 = [3,4], block3 = [5,6]

Fragmento de código
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

questionAnswers(1)

yourAnswerToTheQuestion