Como usar Randn no MATLAB para gerar números aleatórios dentro de certos limites – Criarfazer.net
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.
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.
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.
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:
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".
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.
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
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.