Números aleatorios dentro de un rango específico
Este ejemplo muestra cómo crear un arreglo de números de punto flotante aleatorios que se extraen de una distribución uniforme en el intervalo abierto (50,100).
De forma predeterminada, la función rand
devuelve números normalizados (entre 0 y 1) que se extraen de una distribución uniforme. Para cambiar el rango de la distribución a uno nuevo (a, b), multiplique cada valor por el ancho de cada nuevo rango (b - a) y luego desplace cada valor en a.
Primero, inicie el generador de números aleatorios para hacer que los resultados de este ejemplo sean repetibles.
rng(0,'twister');
Cree un vector de 1000 valores aleatorios. Utilice la función rand
para extraer los valores de una distribución uniforme en el intervalo abierto (50,100).
a = 50; b = 100; r = (b-a).*rand(1000,1) + a;
Compruebe que los valores de r
están dentro del rango especificado.
r_range = [min(r) max(r)]
r_range = 50.0261 99.9746
El resultado está en el intervalo abierto (50,100).
Nota
Ciertas combinaciones de a y b hacen que en teoría sea posible que los resultados incluyan a o b. En la práctica es muy poco probable que suceda.