Создайте статистически независимые потоки случайных чисел
создает один случайный поток, который использует универсальный алгоритм генератора псевдослучайного числа, заданный s = RandStream.create(gentype)gentype. RandStream.list возвращает все возможные значения для gentype, или смотрите Выбор Random Number Generator для получения дополнительной информации об алгоритмах генератора. RandStream функция является более краткой альтернативой, когда необходимо создать единый поток.
[ создает s1,s2,...] = RandStream.create(gentype,'NumStreams',n)n потоки случайных чисел. Потоки независимы в псевдослучайном смысле. Потоки не обязательно независимы от потоков, созданных в других случаях.
Примечание
Не все типы генератора поддерживают несколько потоков. Используйте любого мультипликативный изолированный генератор Фибоначчи ('mlfg6331_64') или объединенное несколько рекурсивный генератор ('mrg32k3a') создать несколько потоков.
[___] = RandStream.create( создание средств управления потока с помощью одного или нескольких gentype,Name,Value)Name,Value пары.
Как правило, вы вызываете RandStream.create однажды, чтобы создать несколько независимых потоков в одной передаче или в начале сеанса работы с MATLAB. Например, можно создать три независимых потока при помощи [s1,s2,s3] = RandStream.create('mrg32k3a','NumStreams',3).
В качестве альтернативы можно создать каждый поток от отдельного вызова до RandStream.create, но необходимо задать соответствующие значения для gentype, 'NumStreams', 'Seed', и 'StreamIndices' гарантировать их независимость:
Задайте те же значения для gentype, 'NumStreams', и 'Seed' в каждом случае.
Задайте различное значение для 'StreamIndices' каждый раз. Все значения должны быть между 1 и значение 'NumStreams'.
Например, создайте два независимых потока при помощи s1 = RandStream.create('mrg32k3a','NumStreams',5,'Seed',0,'StreamIndices',1) и s2 = RandStream.create('mrg32k3a','NumStreams',5,'Seed',0,'StreamIndices',2).
RandStream | RandStream.getGlobalStream | RandStream.list | RandStream.setGlobalStream