exponenta event banner

tallrng

Управление генерацией случайных чисел для массивов tall

Описание

tallrng('default') устанавливает значения по умолчанию для параметров генератора случайных чисел, используемых в вычислениях массива высокого уровня. Полученные случайные числа такие же, как при перезапуске MATLAB ®.

tallrng('shuffle') задает начальное число генератора случайных чисел на основе текущего времени. Этот синтаксис используется при необходимости создания различных последовательностей случайных чисел при каждом их создании.

tallrng(seed) задает начальную точку или начальное значение генератора случайных чисел. Этот синтаксис используется при необходимости создания предсказуемых последовательностей чисел.

tallrng(seed,generator) или tallrng('shuffle',generator) выбирает генератор случайных чисел. Например, tallrng(0,'mlfg6331_64').

пример

state = tallrng возвращает текущее состояние генератора случайных чисел в виде структуры. Используйте структуру для восстановления генератора случайных чисел в захваченное состояние позже с помощью tallrng(state).

пример

tallrng(state) восстанавливает состояние генератора случайных чисел, используя настройки, ранее зафиксированные с помощью state = tallrng.

Примеры

свернуть все

Зафиксируйте параметры генератора, создайте массив случайных чисел, а затем восстановите исходные параметры генератора, чтобы создать предсказуемые массивы случайных чисел.

Сохранение текущего состояния генератора случайных чисел.

state = tallrng
state = struct with fields:
           Type: 'threefry'
           Seed: 0
    StreamIndex: 1
      Substream: 1

Создание высокого массива случайных чисел с помощью arrayfun.

t = tall(zeros(10,1));
n1 = arrayfun(@(x) x+randn, t)
n1 =

  10x1 tall array

    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    :
    :

Восстановите предыдущее состояние генератора и восстановите массив случайных чисел. Два массива n1 и n2 равны.

tallrng(state)
n2 = arrayfun(@(x) x+randn, t)
n2 =

  10x1 tall array

    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    :
    :

Входные аргументы

свернуть все

Начальное число случайного числа, указанное как неотрицательное целое число. Начальное число определяет начальную точку алгоритма для генерации случайных чисел. Укажите начальное число, когда требуется воспроизводимые результаты.

Максимальное значение начального значения: 232-1.

Пример: tallrng(3)

Генератор случайных чисел, указанный как один из генераторов случайных чисел в этой таблице. Можно указать обычное или удобное имя.

ИмяУдобное названиеОписание
'threefry4x64_20' (по умолчанию)'threefry'Три генератора 4x64 с 20 патронами
'mrg32k3a' 'combRecursive'

Комбинированный множественный рекурсивный генератор

'mlfg6331_64''multFibonacci'

Мультипликативный отставший генератор Фибоначчи

'philox4x32_10''philox'Генератор Philox 4x32 с 10 патронами

tallrng поддерживает генераторы случайных чисел, которые имеют поддержку множества потоков и субпотоков. Полный список доступных генераторов в MATLAB см. в разделе Создание и управление потоком случайных чисел.

Пример: tallrng(0,'mlfg6331_64')

Предыдущее состояние генератора случайных чисел, указанное как структура, ранее созданная с помощью state = tallrng.

Пример: state = tallrng фиксирует текущее состояние генератора случайных чисел, и tallrng(state) восстанавливает эти параметры генератора.

Типы данных: struct

Выходные аргументы

свернуть все

Состояние генератора случайных чисел, возвращаемое как структура с этими полями.

ОбластьОписаниеПримерное значение
TypeТип генератора случайных чисел'threefry'
SeedЧисло, указывающее начальную точку алгоритма (для воспроизводимости)0
StreamIndexИндекс, указывающий связанный глобальный поток 1
SubstreamИндекс, указывающий связанный подпоток1

Пример: state = tallrng фиксирует текущее состояние генератора случайных чисел, и tallrng(state) восстанавливает эти параметры генератора.

Типы данных: struct

Совет

  • Если у вас есть Toolbox™ статистики и машинного обучения, то tallrng управляет случайными числами, выполняющими такие функции, как datasample, cvpartition, и TreeBagger генерируется во время вычислений массива высокого уровня.

Вопросы совместимости

развернуть все

В R2019a изменилось поведение

См. также

|

Представлен в R2017b