Вы можете настроить матрицу индексации, а затем просто индексировать в A
...
A = [1 2 3 4 5 6 7 8];
windowsize = 4;
stepsize = 2;
% Implicit expansion to create a matrix of indices
idx = bsxfun( @plus, (1:windowsize).', 0:stepsize:(numel(A)-windowsize) );
b = A(idx);
Примечание;в этом случае idx
и b
одинаковы, но вам нужен последний шаг индексации, предполагая, что A
- это не просто последовательные целые числа в вашем реальном примере.