Cómo utilizar randn en MATLAB para generar números aleatorios dentro de ciertos límites

by admin

MATLAB es un programa de software técnico que puede realizar aritmética, cálculo, cálculos de álgebra lineal, figura el trazado, procesamiento de señales y cientos de otras aplicaciones. Su versatilidad proviene de sus miles de funciones preprogramadas, incorporadas. Una de esas funciones es "randn." Dile a la función de la cantidad de filas y columnas de datos que desee, y se crea una matriz de valores aleatorios de ese tamaño, donde los valores caen en una o distribución "normal" o "curva de campana" en torno a una media. No se puede dar directamente los límites mínimo y máximo "randn", pero lo que puede hacer en su lugar es estirar su salida por cualquier rango que necesita.

Instrucciones

1 Crear una matriz de valores aleatorios distribuidos normalmente, utilizando la función randn. Por ejemplo, escriba en el indicador de comandos de MATLAB:

A = randn (4, 5)

Pulse la tecla Enter. MATLAB crea una matriz "A" con cuatro filas y cinco columnas. 20 Los valores de la matriz se distribuyen normalmente alrededor de una media central.

2 Se calcula la diferencia entre el número máximo de "A" y el número mínimo de "A" con el siguiente código:

FDiff = max (A) - min (A)

tiendas de MATLAB alcance de la función randn en "FDiff." Por ejemplo, si el número mínimo fue de -0,1 y el máximo fue de 1,9, entonces MATLAB se dan "FDiff" el valor de dos.

3 Se calcula la diferencia entre los números máximo y mínimo durante el cual desea que los números aleatorios estiradas. Por ejemplo, escriba el código y pulse Intro:

Rdiff = 30 - 10

MATLAB almacenará su rango deseado en "rdiff." En este ejemplo, el número máximo en el intervalo que desea es 30, y el mínimo es 10. tiendas de MATLAB el valor 20 en "rdiff."

4 Calcular la escala que necesita con el fin de estirar los valores de la matriz "A" para que encajen por encima de su rango. Escriba en la línea y pulse Enter:

escala = rdiff / FDiff

El uso de los números de los ejemplos anteriores, MATLAB divide por dos y 20 da "escala" el valor 10.

5 Escalar los valores en la matriz "A", de manera que se extienden tan amplia o tan estrecho como el rango deseado con el siguiente código:

A2 = A escala *

6 Cambiar la matriz "A2" hacia arriba o hacia abajo de la línea número hasta su valor mínimo corresponda a su valor mínimo, por ejemplo 10, con este código:

A3 = A2 + (10 - min (A2))

Este resultado final, "A3", es una matriz de números distribuidos normalmente dentro del rango establecido. En este ejemplo, los números aleatorios se extienden de 10 a 30.

ETIQUETA: