s = RandStream(type)
s = RandStream(type, Name, Value)
x = rand(s, ...)
x = randn(s, ...)
x = randi(s, ...)
p = randperm(s, n)
[s1, s2, ...] = RandStream.create(type, 'NumStreams', n)
RandStream crée un flux aléatoire mutable. Les propriétés prises en charge incluent Type, Seed, NumStreams, StreamIndex, State, Substream, NormalTransform, Antithetic et FullPrecision.
Type, Seed, NumStreams et StreamIndex sont en lecture seule après construction. State, Substream, NormalTransform, Antithetic et FullPrecision peuvent être assignés.
Les types de générateurs pris en charge incluent mt19937ar, twister64, dsfmt19937, mrg32k3a, mlfg6331_64, philox4x32_10, threefry4x64_20, pcg64dxsm (alias pcg) et xoshiro256pp (alias xoshiro).
pcg64dxsm est un générateur congruentiel permuté 64 bits avec double xor-shift et multiplication, et xoshiro256pp un générateur xor-shift-rotate avec état de 256 bits et double addition. Leur NormalTransform par défaut est Inversion. Avec FullPrecision à false, ils génèrent chaque double à partir de 32 bits aléatoires au lieu de 53, ce qui est plus rapide ; deux flux qui ne diffèrent que par FullPrecision génèrent des séquences différentes.
Les méthodes statiques incluent create, list, getGlobalStream et setGlobalStream.
s = RandStream('mt19937ar', 'Seed', 4);
x = rand(s, 1, 3);
reset(s);
y = rand(s, 1, 3)
s = RandStream('pcg64dxsm', 'Seed', 1, 'FullPrecision', false);
s.NormalTransform
x = rand(s, 1, 4)
| Version | Description |
|---|---|
| 2.0.0 | Nouveaux types de générateurs : pcg64dxsm et xoshiro256pp |