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