Matlab условная сумма сигналов в матрице - PullRequest
3 голосов
/ 13 сентября 2011

У меня есть вектор с положительными / отрицательными сигналами и нулями (без сигналов):

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, но мои матрицы большие по размеру и многомерные, и ни одно из этих решений не очень хорошо масштабируется.

Можно ли решить мою проблему с помощью векторизованного решения? Спасибо.

1 Ответ

0 голосов
/ 09 января 2012

Оли Чарльзуорт дал ответ на это в комментарии.Я копирую его комментарий в качестве ответа, чтобы эти вопросы перестали отображаться среди оставшихся без ответа.

По существу, векторизованного решения не существует, поскольку каждый элемент результата зависит от предыдущего.- Оли Чарльзуорт 13 сентября 2011 года в 17: 01

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...