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)
| 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 |
| Paramètre | Description |
|---|---|
| lst | a cell of chaînes. |
| s | une structure : état du générateur de nombres aléatoires |
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".
rng('default');
r = rng()
lst = rng('enginelist')
rng(42, 'xoshiro');
s = rng();
a = rand(1, 3);
rng(s);
b = rand(1, 3);
isequal(a, b)
s.Type
| 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) |