Matriz Aleat贸ria no Octave

Nesta aula, abordaremos como criar uma matriz povoada com valores aleatórios no ambiente do Octave.

Vamos começar com um exemplo prático.

Suponha que você queira gerar uma matriz 2x3 com valores aleatórios. Para isso, utilize a função rand(linhas, colunas).

>> rand(2,3)

O Octave, neste caso, irá gerar uma matriz aleatória preenchida com valores entre 0 e 1.

ans =
0.495435 0.651593 0.093860
0.449491 0.788723 0.028347

Importante lembrar que os números produzidos são sempre diferentes a cada chamada da função e estão uniformemente distribuídos no intervalo (0,1).

Agora, se a sua necessidade for criar uma matriz aleatória cujos valores estejam entre 0 e 10, basta multiplicar o resultado da função rand() por 10.

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

E se a intenção for criar uma matriz aleatória composta por números inteiros? Neste caso, pode-se combinar a função rand() com a função round().

Por exemplo, para criar uma matriz 2x3 com valores aleatórios entre 0 e 10.

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

Uma alternativa a esse procedimento é utilizar a função randi(valor máximo, linhas, colunas) para obter o mesmo resultado.

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

Vale ressaltar que, em ambas as situações, o Octave retorna uma matriz aleatória preenchida com valores inteiros aleatórios.

Mas como o Octave gera esses valores aleatórios? A maioria dos algoritmos para geração de números aleatórios se vale de extensas listas com diferentes tipos de distribuições. Sendo assim, os números gerados não são verdadeiramente aleatórios, mas sim pseudorandom. O Octave inicializa o algoritmo com base no tempo do relógio do computador, garantindo que os números gerados sejam sempre diferentes. Contudo, se for necessário, o Octave permite que se utilize sempre a mesma sequência de números aleatórios.

 
 

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

FacebookTwitterLinkedinLinkedin

Arrays em Octave

Matrizes em Octave

FAQ

Struct e array de células