sprand

Matriz esparsa com elementos aleatórios uniformemente distribuídos entre 0 e 1.

Categoria: Mathematics > Sparse Matrices

Sintaxe

R = sprand(m, n, density)

Retorna uma matriz esparsa m-por-n com cerca de density*m*n não nulos.

R = sprand(S)

Retorna uma matriz aleatória com o mesmo padrão de esparsidade de S.

Descrição

As posições dos não nulos são escolhidas ao acaso, então o número real pode ser um pouco diferente da densidade pedida quando dois sorteios caem na mesma posição. Use rng antes da chamada para obter matrizes reprodutíveis.

É usada para criar matrizes de teste de algoritmos esparsos. Para valores com distribuição normal use sprandn.

Argumentos de entrada

m, n
Tamanho da matriz.
density
Fração de elementos não nulos, de 0 a 1.
S
Matriz esparsa cujo padrão é copiado.

Argumentos de saída

R
Matriz esparsa cujos não nulos são sorteados da distribuição uniforme em (0, 1).

Exemplo

Uma matriz esparsa aleatória

rng(1);
R = sprand(6, 6, 0.3);
size(R)
issparse(R)
all(nonzeros(R) > 0 & nonzeros(R) < 1)
Saída
ans = 1×2

     6     6
ans = logical
   1
ans = logical
   1

Observações

As matrizes produzidas para uma dada semente diferem das do MATLAB. O MatLivre armazena matrizes esparsas de forma densa, então elas não economizam memória, e tamanhos acima de 200 milhões de elementos são rejeitados. Resultados e exibição coincidem com os do MATLAB em tamanhos comuns.

Veja também

sprandn sprandsym rand sparse