Как добавить случайное смещение к значениям в Pseq?

Учитывая Pseq, подобное следующему:

Pseq([1, 2, 3, 4, 5, 6, 7, 8], inf)

Как бы я каждый раз немного рандомизировал значения? То есть не просто случайным образом изменить 8 значений один раз во время инициализации, но добавлять случайное смещение каждый раз, когда значение отправляется в поток?


person David    schedule 19.08.2013    source источник


Ответы (1)


Вот аккуратный способ:

(Pseq([1, 2, 3, 4, 5, 6, 7, 8], inf) + Pgauss(0, 0.1))

Во-первых, вам нужно знать, что Pgauss — это просто шаблон, который генерирует гауссовские случайные числа. Вы можете использовать любой другой шаблон, например Pwhite.

Затем вам нужно знать действительно приятную часть: выполнение основных математических операций над паттернами (как указано выше) составляет паттерны (путем их оборачивания в Pbinop).

person Dan Stowell    schedule 20.08.2013
comment
О, вы поместили случайную функцию вне вызова Pseq. Я бы никогда не догадался об этом. Благодарю вас! - person David; 21.08.2013
comment
Это немного похоже на en.wikipedia.org/wiki/ - person Dan Stowell; 21.08.2013