Como usar Randn no MATLAB para gerar números aleatórios dentro de certos limites

O MATLAB é um programa técnico que pode executar aritmética, cálculo, cálculos, álgebra linear, figura de plotagem, processamento de sinais e centenas de outras aplicações. Sua versatilidade vem de milhares de funções pré-programadas embutidas. Uma dessas funções é “aleatória”. Ordene à função o número de linhas e colunas de dados que você deseja e crie uma matriz de valores aleatórios em que os valores caiam em uma distribuição “normal” ou “curva de sino” em torno da média. Você não pode atribuir a “randn” os limites mínimo e máximo diretamente, mas o que você pode fazer é esticar sua saída em qualquer faixa que você precisar.

Passo 1

Faça uma matriz de valores aleatórios, normalmente distribuídos usando a função randn. Por exemplo, digite na linha de comando MATLAB:

A = padrão (4, 5)

Pressione Enter O MATLAB cria uma matriz “A” com quatro linhas e cinco colunas. Os 20 valores da matriz serão normalmente distribuídos em torno de uma média central.

Etapa 2

Calcule a diferença entre o número máximo em “A” e o número mínimo em “A” com o seguinte código:

FDiff = máx (A) – min (A)

O MATLAB armazena o alcance da função aleatória em “FDiff”. Por exemplo, se o número mínimo fosse -0,1 e o máximo fosse 1,9, o MATLAB forneceria ao “FDiff” o valor de dois.

Etapa 3

Calcule a diferença entre os números máximo e mínimo sobre os quais você deseja que os números aleatórios sejam estendidos. Por exemplo, digite este código e pressione Enter:

RDiff = 30-10

O MATLAB armazenará o intervalo desejado em “RDiff”. Neste exemplo, o número máximo no intervalo desejado é 30 e o mínimo é 10. MATLAB armazena o valor 20 em “RDiff”.

Etapa 4

Calcule a escala necessária para esticar os valores da matriz “A” para ajustá-los em seu intervalo. Digite a linha e pressione Enter:

escala = RDiff / FDiff

Com os números de exemplo anteriores, o MATLAB divide 20 em dois e atribui “escala” ao valor 10.

Etapa 5

Escale os valores da matriz “A” para que eles se estendam tão largo ou tão estreito quanto o intervalo desejado com o seguinte código:

A2 = escala * A

Etapa 6

Mova a matriz “A2” para cima ou para baixo na linha numérica até que seu valor mínimo corresponda ao seu valor mínimo, por exemplo 10, com este código:

A3 = A2 + (10 minutos (A2))

Este resultado final, “A3”, é uma matriz de números normalmente distribuídos dentro do que o intervalo estabelece. Neste exemplo, números aleatórios variam de 10 a 30.

Referências

 

Você pode estar interessado:

Deixe um comentário