rng
Controla a semente e o gerador do fluxo global de números aleatórios.
Categoria: Mathematics > Random Number Generation
Sintaxe
rng(seed)
Semeia o gerador Mersenne Twister com um inteiro não negativo.
rng('default')
Restaura as configurações iniciais: Mersenne Twister, semente 0.
rng('shuffle')
Semeia a partir do horário atual, gerando uma sequência diferente a cada execução.
rng(seed, generator)
Escolhe o gerador, por exemplo 'twister'.
s = rng
Retorna as configurações atuais como struct, para restaurar depois com rng(s).
Descrição
rng define o estado do fluxo global, que é o usado por rand, randn, randi e randperm. Semear com o mesmo valor antes de um cálculo o torna reproduzível: é a primeira linha da maioria dos scripts que usam dados aleatórios.
Para executar um trecho de código e depois voltar ao estado aleatório anterior, guarde s = rng antes e chame rng(s) depois.
Argumentos de entrada
seed- Inteiro não negativo,
'default'ou'shuffle'. generator- Nome do gerador:
'twister'(ou'mt19937ar'). s- Struct com os campos
Type,SeedeState, como retornada porrng.
Argumentos de saída
s- As configurações em vigor antes da chamada.
Exemplo
Números reprodutíveis e estado salvo
rng(42);
a = rand;
rng(42);
b = rand;
a == b
s = rng;
x = rand(1, 2);
rng(s);
isequal(x, rand(1, 2))
rng('default');
rand
ans = logical
1
ans = logical
1
ans = 0.8147
Observações
Só o gerador Mersenne Twister ('twister') está disponível. Os valores de rand para uma dada semente coincidem com os do MATLAB; os de randn, randi e randperm podem não coincidir.