MATLAB: Movendo a janela do integrador (soma) com tamanho variável, com base em uma condição

Gostaria de definir os índices inicial e final de uma janela de integrador (soma) em movimento com base na soma acumulada dos valores dearray. Cada janela deve ter uma soma acumulada menor ou igual a um limite.

oend_index desta janela está avançando uniformemente em 1 para as janelas futuras, porém ostart_index depende dos valores dearray. start_index pode avançar, permanecer o mesmo ou voltar (valores negativos); portanto, o tamanho dessa janela em movimento não é fixo.

Por exemplo:

array = [ 1 0 2 1 1 2 0 0 1 2 0 1 0 1 1];

Com ostart_index = 1, a soma acumulada dearray será 5 emend_index = 5, para a primeira janela.

Agora, para a próxima janela, oend_index é adiantado por 1, de modo que o novoend_index = 6. Gostaria de saber como encontrar o novostart_index calculando de volta a soma acumulada do novoend_index de modo acumsum é menor ou igual a 5 para a nova janela também. Nesse caso, o novostart_index = 4.

Alguma sugestão de como isso pode ser feito?

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion