Поток случайных чисел
RandStream
создает поток случайных чисел с помощью заданного алгоритма генератора псевдослучайных чисел.
Вы можете сгенерировать псевдослучайные числа в MATLAB® из одного или нескольких потоков случайных чисел. Самый простой способ сгенерировать массивы случайных чисел - это использовать rand
, randi
, randn
, и randperm
функций. Все эти функции зависят от одного и того же потока равномерно распределенных случайных чисел, известного как глобальный поток. Изменение глобального потока может включать в себя RandStream
, но это не обязательно. Если вы создаете поток с помощью RandStream
, вы можете использовать RandStream.setGlobalStream
сделать его глобальным потоком. Однако, rng
функция обеспечивает более простой интерфейс для создания глобального потока, которого достаточно для большинства вариантов использования.
Можно также использовать RandStream
для создания потоков и последующего использования rand
, randi
, randn
, или randperm
чтобы сгенерировать случайные числа из этих потоков. Сгенерированные случайные числа являются отдельными от тех, которые рисуются из глобального потока или от других потоков. Для получения дополнительной информации смотрите Функции объекта.
Используйте следующие синтаксисы, чтобы создать один поток случайных чисел. Если вы хотите создать несколько независимых потоков одновременно, используйте RandStream.create
функция.
создает поток случайных чисел, который использует однородный алгоритм генератора псевдослучайных чисел, заданный s
= RandStream(gentype
)gentype
.
также управляет свойствами потока, используя одну или несколько необязательных s
= RandStream(gentype
,Name,Value
)Name,Value
аргументы в виде пар.
По умолчанию функции генерации случайных чисел, такие как rand
, используйте глобальный поток случайных чисел. Чтобы задать другой поток, создайте RandStream
Объекту и передайте его как первый входной параметр. Например, создайте вектор 4 на 1 случайных чисел с помощью SIMD-ориентированного быстрого вихря Мерсенна.
s = RandStream('dsfmt19937'); r = rand(s,4,1);
Эти функции принимают RandStream
объект:
rand | Равномерно распределенные случайные числа | Поддерживаемые синтаксисы, где X = rand(s) X = rand(s,n) X = rand(s,sz1,...,szN) X = rand(s,sz) X = rand(s,typename) rand , randi , и randn . |
randi | Равномерно распределенные псевдослучайные целые числа | |
randn | Нормально распределенные случайные числа | |
randperm | Случайное сочетание целых чисел | Поддерживаемые синтаксисы, где p = randperm(s,n) p = randperm(s,n,k) randperm . |
Другие функции объекта RandStream
являются:
RandStream.create | Создайте статистически независимые потоки случайных чисел |
RandStream.list | Список алгоритмов генератора случайных чисел |
RandStream.getGlobalStream | Получите текущий глобальный поток случайных чисел |
RandStream.setGlobalStream | Установите глобальный поток случайных чисел |
reset | Сброс потока случайных чисел |