rng

Управление генерацией случайных чисел

Описание

Примечание

Использовать rng функция вместо rand или randn с 'seed', 'state', или 'twister' входные параметры, см. документацию относительно Замены Нежелательные Синтаксисы rand и randn.

rng(seed) отбирает генератор случайных чисел с помощью неотрицательного целочисленного seed так, чтобы randrandi, и randn произведите предсказуемую последовательность чисел.

rng('shuffle') отбирает генератор случайных чисел на основе текущего времени. Таким образом, randrandi, и randn произведите различную последовательность чисел после каждого раза, когда вы вызываете rng.

rng(seed, generator) и rng('shuffle', generator) дополнительно задайте тип генератора случайных чисел, используемого randrandi, и randn. generator вход является одним из:

  • 'twister': Вихрь Мерсенна

  • 'simdTwister': SIMD-ориентированный быстрый Вихрь Мерсенна

  • 'combRecursive': Объединенный несколько рекурсивные

  • 'philox': Philox 4x32 генератор с 10 раундами

  • 'threefry': Threefry 4x64 генератор с 20 раундами

  • 'multFibonacci': Мультипликативный изолированный Фибоначчи

  • 'v5uniform': Универсальный генератор Legacy MATLAB® 5.0

  • 'v5normal': Устаревший MATLAB 5.0 нормальный генератор

  • 'v4': Устаревший генератор MATLAB 4.0

rng('default') помещает настройки генератора случайных чисел, используемого randrandi, и randn к их значениям по умолчанию. Таким образом, те же случайные числа производятся, как будто вы перезапустили MATLAB. Настройки по умолчанию являются Вихрем Мерсенна с seed 0.

scurr = rng возвращает текущие настройки генератора случайных чисел, используемого randrandi, и randn. Настройки возвращены в структуре scurr с полями 'Type', 'Seed', и 'State'.

rng(s) восстанавливает настройки генератора случайных чисел, используемого randrandi, и randn назад к значениям, полученным ранее с командой, таким как s = rng.

sprev = rng(...) возвращает предыдущие настройки генератора случайных чисел, используемого randrandi, и randn прежде, чем изменить настройки.

Примеры

Пример 1 - получает и восстанавливает настройки генератора

Сохраните текущие настройки генератора в s:

s = rng;

Вызовите rand сгенерировать вектор случайных значений:

x = rand(1,5)

x =

    0.8147    0.9058    0.1270    0.9134    0.6324

Восстановите исходные настройки генератора путем вызова rng. Сгенерируйте новый набор случайных значений и проверьте тот x и y равны:

rng(s);
y = rand(1,5)

y =

    0.8147    0.9058    0.1270    0.9134    0.6324

Пример 2 - настройки восстановления для устаревшего генератора

Используйте устаревший генератор.

sprev = rng(0,'v5uniform')

sprev = 
     Type: 'twister'
     Seed: 0
    State: [625x1 uint32]

x = rand

x =

    0.9501

Восстановите предыдущие настройки путем вызова rng:

rng(sprev)

Расширенные возможности