У меня есть вектор с положительными / отрицательными сигналами и нулями (без сигналов):
X=[0,0,1,1,1,1,0,0,-1,-1,0,0,0,1,1,1,0,0,-1,0];
Я хочу создать новый вектор, который является кумулятивным суммированием X
, с условием, что кумулятивная сумма никогда не может превышать 3 / -3, так что результат будет:
Y=[0,0,1,2,3,3,3,3,2,1,1,1,1,2,3,3,3,3,2,2];
Я могу решить эту проблему с помощью циклов или arrayfun
, но мои матрицы большие по размеру и многомерные, и ни одно из этих решений не очень хорошо масштабируется.
Можно ли решить мою проблему с помощью векторизованного решения? Спасибо.