randi
Inteiros aleatórios sorteados de forma uniforme em um intervalo.
Categoria: Mathematics > Random Number Generation
Sintaxe
r = randi(imax)
Retorna um inteiro de 1 a imax.
r = randi(imax, n)
Retorna uma matriz n-por-n.
r = randi(imax, sz1, ..., szN)
Retorna um array com as dimensões indicadas.
r = randi([imin imax], ___)
Sorteia de imin a imax em vez de começar em 1.
r = randi(___, classname)
Retorna inteiros da classe indicada, como 'int8' ou 'uint16'.
Descrição
Cada elemento é um sorteio independente da distribuição uniforme discreta no intervalo. Os valores vêm do fluxo aleatório global, de modo que rng os torna repetíveis.
O resultado é double por padrão, embora os valores sejam inteiros. Informar uma classe inteira gera um array compacto desse tipo.
Argumentos de entrada
imax- Inteiro positivo: o maior valor possível.
[imin imax]- Vetor de dois elementos com
imin <= imax; negativos são permitidos. classname- Classe do resultado:
'double'(padrão),'single'ou uma classe inteira.
Argumentos de saída
r- Array de inteiros, com todos os valores do intervalo igualmente prováveis.
Exemplo
Dados, um intervalo e uma classe inteira
rng(1);
randi(6, 1, 8)
randi([-2 2], 2, 3)
class(randi(9, 2, 'uint8'))
Saída
ans = 1×8
3 5 1 2 1 1 2 3
ans = 2×3
-1 0 -1
0 1 2
ans = 'uint8'
Observações
O gerador é inicializado como o do MATLAB, mas os inteiros produzidos para uma dada semente podem diferir dos que o MATLAB fornece.