rng

Random Number Generator.

📝 Syntax

  • lst = rng('enginelist')

  • rng('default')

  • s = rng('default')

  • rng('shuffle')

  • s = rng('shuffle')

  • rng(seed)

  • s = rng(seed)

  • rng(seed, generator)

  • s = rng(seed, generator)

  • rng('shuffle', generator)

  • s = rng('shuffle', generator)

  • s = rng

  • s = rng(generator)

  • rng(s)

📥 Input argument

  • seed - an integer value: new seed for random generator

  • generator - a string: 'twister', 'twister64', 'simdTwister', 'combRecursive', 'philox', 'laggedfibonacci607'

  • s - a struct

📤 Output argument

  • lst - a cell of strings.

  • s - a struct

📄 Description

lst = rng('enginelist') returns the list of available random number generator.

rng('default') puts the settings of the random number generator to default values.

s = rng('default') puts the settings of the random number generator to default values.

rng('shuffle') puts the settings of the random number generator to default values and returns previous generator as an struct.

s = rng('shuffle') seeds the random number generator based on the current time.

rng(seed) seeds the random number generator using the nonnegative integer.

s = rng(seed) seeds the random number generator using the nonnegative integer and returns previous generator as an struct.

rng(seed, generator) seeds the random number generator using the nonnegative integer and specify also the type of generator used.

s = rng(seed, generator) seeds the random number generator using the nonnegative integer and specify also the type of generator used and returns previous generator as an struct.

rng('shuffle', generator) seeds the random number generator based on the current time and specify also the type of generator used.

s = rng('shuffle', generator) seeds the random number generator based on the current time,specify also the type of generator used and returns previous generator as an struct.

s = rng returns current generator as an struct.

rng(s) restores the settings of the random number generator using a previous struct returned by s = rng.

Available generators are:

Value
Generator Name
Generator Keyword

"twister"

Mersenne Twister

mt19937ar

"simdTwister"

SIMD-Oriented Fast Mersenne Twister

dsfmt19937

"combRecursive"

Combined Multiple Recursive

mrg32k3a

"multFibonacci"

Multiplicative Lagged Fibonacci

mlfg6331_64

"philox"

Philox 4x32 generator with 10 rounds

philox4x32_10

Default generator is "twister".

💡 Example

rng('default');
r = rng()
lst = rng('enginelist')

🔗 See also

rand, randn, randi.

🕔 History

Version
📄 Description

1.0.0

initial version

1.15.0

New random number generator: simdTwister, combRecursive, philox

Last updated

Was this helpful?