Управляйте генератором случайных чисел
rng(
задает seed для MATLAB® генератор случайных чисел. Например, seed
)rng(1)
инициализирует Генератор случайных чисел Вихрь Мерсенна с помощью seed 1
.
rng
функционируйте управляет глобальным потоком, который определяет как rand
, randi
, randn
, и randperm
функции производят последовательность случайных чисел. Чтобы создать один или несколько независимых потоков, отдельных от глобального потока, смотрите RandStream
и RandStream.create
.
s = rng
возвращает текущие настройки генератора случайных чисел в структуре s
.
Когда вы выполните параллельную обработку, не используйте rng('shuffle')
установить поток случайных чисел на различных рабочих гарантировать независимые потоки, поскольку это отбирает генератор случайных чисел на основе текущего времени. Это особенно верно, когда команда отправляется нескольким рабочим одновременно, такой как в parfor
задание. Для независимых потоков на рабочих используйте поведение по умолчанию или рассмотрите использование уникального подпотока на каждом рабочем, использующем RandStream
.
Когда вы выполняете параллельную обработку, генераторы случайных чисел по умолчанию на клиенте MATLAB и работниках MATLAB отличаются. Если необходимо сгенерировать тот же случайный поток чисел на клиенте и рабочих, можно использовать rng
с тем же типом генератора и seed (или рассмотреть использование RandStream
с тем же типом генератора, seed и нормальным алгоритмом преобразования). Для получения дополнительной информации смотрите Потоки Управления Случайных чисел на Рабочих (Parallel Computing Toolbox).
Использовать rng
вместо rand
или randn
функции с 'seed'
, 'state'
, или 'twister'
входные параметры, смотрите Замену Нежелательные Синтаксисы rand и randn.
rand
| randi
| randn
| randperm
| RandStream
| RandStream.create