Matrizes aleatórias no Matlab

Nesta aula, exploraremos o processo de criação de uma matriz com valores aleatórios no Matlab, utilizando a função rand().

rand(linhas, colunas)

A função rand() se caracteriza por dois parâmetros essenciais:

  • O número de linhas na matriz
  • O número de colunas na matriz

Com essa função, é possível gerar uma matriz aleatória composta de valores que oscilam entre 0 e 1.

Observação: O Matlab, por predefinição, gera valores aleatórios que seguem uma distribuição uniforme, abrangendo todos os valores possíveis. Contudo, existe a possibilidade de empregar outras distribuições probabilísticas para a geração de números aleatórios.

Vejamos um exemplo prático:

Ao digitar rand(2,3), o Matlab cria uma matriz retangular de dimensões 2x3, preenchida com valores aleatórios.

>> rand(2,3)

Assim, o Matlab produz uma matriz 2x3, inserindo valores aleatórios entre 0 e 1.

De maneira padrão, os números aleatórios distribuem-se de forma uniforme no intervalo de (0,1), o que implica igual probabilidade de geração para cada número.

ans =
0.495435 0.651593 0.093860
0.449491 0.788723 0.028347

Para gerar uma matriz aleatória com números no intervalo de 0 a 10, basta multiplicar a função rand() por 10.

O resultado é uma matriz aleatória com números reais aleatórios variando entre 0 e 10.

>> rand(2,3)*10
ans =
1.35346 1.04275 0.73193
5.51170 0.39138 8.66168

Para criar uma matriz aleatória de números inteiros dentro do intervalo de 0 a 10, a função de arredondamento round() é a solução.

Por exemplo, ao escrever round(rand(2,3)*10), formamos uma matriz 2x3 com números inteiros que variam de 0 a 10.

>> round(rand(2,3)*10)
ans =
3 9 10
3 6 9

Como alternativa, a função randi() permite gerar matrizes com valores inteiros aleatórios.

randi(valor máximo, linhas, colunas)

Essencialmente, a função randi() é especializada na geração de valores inteiros aleatórios e dispõe de três parâmetros:

  • O valor máximo aleatório que pode ser gerado
  • O número de linhas na matriz
  • O número de colunas na matriz

Para ilustrar, digitando randi(10,2,3), o Matlab produz uma matriz 2x3 de números inteiros aleatórios.

>> randi(10,2,3)
ans =
1 9 3
2 1 10

Neste contexto, o Matlab igualmente gera uma matriz aleatória, mas desta vez composta por números inteiros.

Como o Matlab gera valores aleatórios? Na verdade, estes valores não são completamente aleatórios. Eles são considerados "pseudo-aleatórios", pois são produzidos por um algoritmo que utiliza o tempo corrente do computador como base para a geração dos números. Interessantemente, é possível replicar a mesma sequência de números aleatórios em diferentes execuções, caso isso seja necessário. Abordaremos mais detalhes sobre isso em breve.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Números aleatórios em Matlab