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.

Veja também

rand randn randperm rng RandStream