tallrng

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

Описание

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

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

tallrng(seed) устанавливает начальную точку или 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

    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    :
    :

Входные параметры

свернуть все

Seed случайных чисел в виде неотрицательного целого числа. Seed задает начальную точку для алгоритма, чтобы сгенерировать случайные числа. Задайте seed, когда это необходимо, восстанавливаемые результаты.

Максимальное значение seed равняется 232-1.

Пример: tallrng(3)

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

ИмяИмя удобстваОписание
'threefry4x64_20' (значение по умолчанию)'threefry'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

Советы

  • Если у вас есть Statistics and Machine Learning Toolbox™, то tallrng управляет этими функциями случайных чисел такой как datasample, cvpartition, и TreeBagger сгенерируйте во время вычислений длинного массива.

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

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

Поведение изменяется в R2019a

Смотрите также

|

Введенный в R2017b