Поток случайных чисел
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 | Сбросьте поток случайных чисел |