Main Content

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.

Consulte también

Temas relacionados