rng
Générateur de nombres aléatoires.
📝Syntaxe
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)
rng(s)
rng(stream)
📥Arguments d'entrée
Paramètre Description
seed une valeur entière : nouvelle graine pour le générateur aléatoire
generator une chaîne : 'twister', 'twister64', 'simdTwister', 'combRecursive', 'philox', 'threefry', 'laggedfibonacci607', 'pcg', 'xoshiro'. Les mots-clés 'pcg64dxsm' et 'xoshiro256pp' sont également acceptés.
s une structure : état du générateur de nombres aléatoires
📤Arguments de sortie
Paramètre Description
lst a cell of chaînes.
s une structure : état du générateur de nombres aléatoires
📄Description

lst = rng('enginelist') renvoie la liste des générateurs de nombres aléatoires disponibles.

rng('default') remet les paramètres du générateur de nombres aléatoires aux valeurs par défaut.

s = rng('default') remet les paramètres du générateur de nombres aléatoires aux valeurs par défaut et renvoie le générateur précédent sous forme de structure.

rng('shuffle') remet les paramètres du générateur de nombres aléatoires aux valeurs par défaut.

s = rng('shuffle') initialise la graine du générateur de nombres aléatoires en fonction de l'heure courante et renvoie le générateur précédent sous forme de structure.

rng(seed) initialise la graine du générateur de nombres aléatoires en utilisant l'entier non négatif.

s = rng(seed) initialise la graine du générateur de nombres aléatoires en utilisant l'entier non négatif et renvoie le générateur précédent sous forme de structure.

rng(seed, generator) initialise la graine du générateur de nombres aléatoires en utilisant l'entier non négatif et spécifie également le type de générateur utilisé.

s = rng(seed, generator) initialise la graine du générateur de nombres aléatoires en utilisant l'entier non négatif, spécifie le type de générateur utilisé et renvoie le générateur précédent sous forme de structure.

rng('shuffle', generator) initialise la graine du générateur de nombres aléatoires en fonction de l'heure courante et spécifie également le type de générateur utilisé.

s = rng('shuffle', generator) initialise la graine du générateur de nombres aléatoires en fonction de l'heure courante, spécifie également le type de générateur utilisé et renvoie le générateur précédent sous forme de structure.

s = rng renvoie le générateur courant sous forme de structure.

rng(s) restaure les paramètres du générateur de nombres aléatoires à partir d'une structure précédente renvoyée pars = rng.

Générateurs disponibles :

Valeur Nom du générateur Mot-clé du générateur
"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
"pcg" Générateur congruentiel permuté 64 bits avec double xor-shift et multiplication pcg64dxsm
"xoshiro" Générateur xor-shift-rotate avec état de 256 bits et double addition xoshiro256pp

Les générateurs "pcg" et "xoshiro" produisent des sorties de 64 bits : chaque double utilise 53 bits aléatoires et randn utilise la méthode d'inversion (inverse de la fonction de répartition normale appliquée à une valeur uniforme). Leur état (s.State) est un vecteur colonne uint64 : les mots du moteur (état et incrément de 128 bits pour "pcg", état de 256 bits pour "xoshiro"), le mode de précision (0 : pleine précision, 1 : précision réduite fixée par la propriété FullPrecision de RandStream) et une demi-sortie de 32 bits en cache utilisée par le mode de précision réduite. La graine est étendue en état du moteur par le générateur SplitMix64.

Le générateur par défaut est "twister".

💡Exemples
rng('default');
r = rng()
lst = rng('enginelist')
Nombres reproductibles avec le générateur xoshiro256++
rng(42, 'xoshiro');
s = rng();
a = rand(1, 3);
rng(s);
b = rand(1, 3);
isequal(a, b)
s.Type
🔗Voir aussi
randrandnrandiRandStream
🕔Historique des versions
Version Description
1.0.0 version initiale
1.15.0 Nouveau générateur de nombres aléatoires : simdTwister, combRecursive, philox
2.0.0 Nouveaux générateurs de nombres aléatoires : pcg (pcg64dxsm) et xoshiro (xoshiro256pp)
Modifier cette page sur GitHub