Escribe los límites inferior y superior y haz clic en «Calcular» para generar números aleatorios en ese rango. También puedes indicar cuántos, las cifras decimales y si se permiten repeticiones (todo salvo los límites se puede dejar en blanco, lo que significa 1 número entero, con repetición).
Índice
-
Qué puedes hacer en esta página
-
¿Para qué sirve este cálculo?
-
Cómo usar
-
Fórmula
-
Probabilidad de cada valor para números enteros aleatorios (distribución uniforme discreta)
-
Lo probables que son los decimales aleatorios (densidad de probabilidad de la distribución uniforme continua)
-
Media de los números aleatorios (valor esperado de una distribución uniforme)
-
Convertir un número aleatorio de 0 a 1 en un número entero aleatorio de un rango
-
Una forma clásica de generar números pseudoaleatorios (generador congruencial lineal)
-
-
Símbolos y términos
-
Qué conviene saber de antemano
-
Cómo calcularlo con Excel
-
Cómo calcularlo con Hojas de cálculo de Google
-
Cómo calcularlo con Python
-
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
-
Cómo pedirle a ChatGPT que haga el cálculo
-
Las ventajas de DataChef
-
Funciones relacionadas
-
Todas las calculadoras de NumberChef
Qué puedes hacer en esta página
- Escribe solo un límite inferior y uno superior para obtener al instante números aleatorios (números elegidos al azar) en ese rango
- Puedes generar decimales aleatorios además de enteros. Elige de 0 a 50 cifras decimales
- Genera hasta 999 números a la vez, con o sin repetición. Si generas 2 o más, el resultado los muestra también ordenados de menor a mayor y de mayor a menor, además del orden en que se generaron
- Sirve desde un rango pequeño como de 1 a 6 hasta enteros enormes de más de 20 cifras
- En esta misma página encontrarás también una explicación sencilla de cómo funcionan los números aleatorios y las fórmulas listas para copiar en Excel, Hojas de cálculo de Google y Python
¿Para qué sirve este cálculo?
Si das un número a cada participante o alumno y eliges con números aleatorios, la elección es justa, sin que intervenga la voluntad de nadie. Todos tienen la misma probabilidad de salir elegidos (una distribución uniforme). Es un sorteo cuya justicia está respaldada por las matemáticas.
Los números de La Primitiva, «6 números del 1 al 49 sin repetir», funcionan exactamente así, y hay 13.983.816 combinaciones posibles.
¿Cómo puede un sondeo de unos pocos miles de personas decirnos lo que piensa todo el país, sin preguntar a todos los españoles? La respuesta es el muestreo aleatorio, que consiste en elegir a las personas a las que se pregunta con números aleatorios. Elegir a propósito sesgaría los resultados, así que elegir al azar es lo que hace fiable una encuesta.
La marcación aleatoria de dígitos (RDD), que se usa en muchos sondeos de opinión, crea los propios números de teléfono con números aleatorios, de modo que quienes tienen el número fuera de las guías tienen la misma probabilidad de recibir la llamada.
Incluso un problema demasiado complejo para resolverlo con una fórmula se puede responder de forma aproximada haciendo decenas de miles de pruebas aleatorias y sumando los resultados. Esto se llama método de Montecarlo. Se usa en todas partes, desde los cálculos de riesgo de los bancos y las predicciones meteorológicas por conjuntos (muchas predicciones con condiciones iniciales ligeramente distintas) hasta la investigación en física y medicina.
Su base teórica es la propiedad que aprendes en esta página: la media de los números aleatorios se acerca al valor esperado.
Todo el azar de los videojuegos, desde los lanzamientos de dados y el barajado de cartas hasta las cajas de botín y los mapas generados al azar, se crea con números pseudoaleatorios.
El hecho de que la misma semilla dé la misma sucesión se aprovecha de verdad, en las funciones de repetición y al compartir con amigos la semilla de un mundo para que todos jueguen el mismo mapa.
Las conexiones cifradas de las compras por internet y las contraseñas de un solo uso solo funcionan gracias a los números aleatorios, números que un atacante no puede predecir.
Los números pseudoaleatorios corrientes podrían predecirse, así que no se pueden usar aquí. En su lugar se usan generadores criptográficamente seguros y generadores físicos de números aleatorios, que emplean sucesos físicos como el ruido térmico. Es el uso más exigente de los números aleatorios, en el que su calidad decide lo seguro que es el mundo.
Fórmula
Símbolos y términos
Símbolos
| \(a\) | a | El límite inferior del rango (este número o más). (Ejemplo: para números aleatorios del 1 al 100, \(a = 1\)) |
| \(b\) | b | El límite superior del rango (este número o menos). (Ejemplo: para números aleatorios del 1 al 100, \(b = 100\)) |
| \(P(X=k)\) | P de X igual a k | La probabilidad de que el número aleatorio \(X\) sea exactamente el número entero \(k\). Para números enteros aleatorios uniformes, es la misma para todo \(k\). |
| \(f(x)\) | f de x (densidad de probabilidad) | La altura del gráfico que muestra lo probables que son los decimales aleatorios (la función de densidad). En una distribución uniforme, la altura es la misma en todo el rango. |
| \(E[X]\) | E de X (valor esperado) | El valor al que se acerca la media cuando generas muchos números aleatorios \(X\). E es la inicial de «esperanza». |
| \(u\) | u | Un número aleatorio uniforme de 0 hasta 1 (sin incluir el 1). La mayoría de los números aleatorios de los ordenadores se generan primero de esta forma y después se llevan al rango que quieres. |
| \(\lfloor\ \rfloor\) | parte entera (función parte entera) | Un símbolo que quita la parte decimal del número de dentro y lo redondea hacia abajo a un número entero. (Ejemplo: \(\lfloor 3{,}2 \rfloor = 3\)) |
| \(X_n\) | X sub n | El valor \(n\)-ésimo de una sucesión de números pseudoaleatorios. El valor inicial \(X_0\) es la semilla. |
| \(\bmod\) | mod | La operación que da el resto de una división. (Ejemplo: \(38 \bmod 16 = 6\), porque 38 entre 16 es 2 y sobran 6) |
Términos
| número aleatorio | Un número sin ningún patrón que te permita predecir cuál viene después, como el resultado de un dado. El generador de esta página crea números elegidos al azar dentro del rango que indicas. |
| distribución uniforme | Una distribución en la que todos los valores del rango son igual de probables. En los números enteros aleatorios, todos los enteros tienen la misma probabilidad. En los decimales aleatorios, el gráfico tiene la misma altura en todas partes. |
| número pseudoaleatorio | Un número de una sucesión creada con una fórmula que parece aleatoria. La fórmula se llama PRNG (generador de números pseudoaleatorios). Casi todos los números aleatorios de los ordenadores son pseudoaleatorios. |
| semilla | El valor inicial con el que se empiezan a calcular los números pseudoaleatorios. Empezar desde la misma semilla siempre da exactamente la misma sucesión. Normalmente la semilla se fija automáticamente, por ejemplo a partir de la hora actual, y por eso cada sucesión parece distinta. |
| generador congruencial lineal | La forma más clásica de generar números pseudoaleatorios, repitiendo «multiplicar, sumar y quedarse con el resto». Es ideal para aprender cómo funcionan, pero hoy en la práctica se usan métodos de mayor calidad, como el Mersenne Twister. |
| generador físico de números aleatorios | Un dispositivo que genera números aleatorios a partir de sucesos físicos, como dados, monedas, el ruido eléctrico de la atmósfera o el ruido térmico de los circuitos electrónicos. Como no interviene ninguna fórmula, los números no se pueden reproducir y se acercan a los verdaderos números aleatorios. |
| valor esperado (esperanza matemática) | La media de un resultado aleatorio tras muchas repeticiones. En los números aleatorios uniformes, el valor esperado es exactamente el centro del rango. |
| muestreo aleatorio | Elegir al azar a quién o qué se estudia, por ejemplo con números aleatorios, sin que intervenga ninguna elección humana. Es la forma básica de evitar el sesgo en las encuestas estadísticas. |
Qué conviene saber de antemano
Esto es lo que te ayuda a usar el cálculo de esta página entendiendo de verdad lo que haces, y no solo pulsando el botón.
| División con resto (3.º–4.º de Primaria, 8-10 años) |
|
| Decimales y redondeo hacia abajo (5.º–6.º de Primaria, 10-12 años) |
|
| Razones y porcentajes (6.º de Primaria, 11-12 años) |
|
| Probabilidad básica (3.º de ESO, 14-15 años) |
|
| Valor esperado (Bachillerato, 16-18 años) |
|
Cómo calcularlo con Excel
| Límite inferior a | 1 |
| Límite superior b | 6 |
| Probabilidad de cada número entero | =1/(B2-B1+1) |
| Límite inferior a | 0 |
| Límite superior b | 10 |
| Densidad de probabilidad (altura del gráfico) | =1/(B2-B1) |
| Límite inferior a | 1 |
| Límite superior b | 100 |
| Media (valor esperado) | =(B1+B2)/2 |
| Límite inferior a | 1 |
| Límite superior b | 100 |
| Número entero aleatorio (cambia en cada recálculo) | =B1+ENTERO(ALEATORIO()*(B2-B1+1)) |
| Número aleatorio actual Xn | 7 |
| Multiplicador a | 5 |
| Incremento c | 3 |
| Divisor m | 16 |
| Siguiente número aleatorio | =RESIDUO(B2*B1+B3;B4) |
La primera tabla muestra aproximadamente 0,1667 (= 1/6), la tercera muestra 50,5 y la quinta muestra 6.
ALEATORIO() de la cuarta tabla genera un número aleatorio de 0 hasta 1 (sin incluir el 1), exactamente con la forma de la fórmula de conversión de la sección de fórmulas. Pulsa F9 para obtener un número aleatorio nuevo cada vez.
Cómo calcularlo con Hojas de cálculo de Google
| Límite inferior a | 1 |
| Límite superior b | 6 |
| Probabilidad de cada número entero | =1/(B2-B1+1) |
| Límite inferior a | 0 |
| Límite superior b | 10 |
| Densidad de probabilidad (altura del gráfico) | =1/(B2-B1) |
| Límite inferior a | 1 |
| Límite superior b | 100 |
| Media (valor esperado) | =(B1+B2)/2 |
| Límite inferior a | 1 |
| Límite superior b | 100 |
| Número entero aleatorio (cambia en cada recálculo) | =B1+ENTERO(ALEATORIO()*(B2-B1+1)) |
| Número aleatorio actual Xn | 7 |
| Multiplicador a | 5 |
| Incremento c | 3 |
| Divisor m | 16 |
| Siguiente número aleatorio | =RESIDUO(B2*B1+B3;B4) |
Copia la tabla entera, pégala en la celda A1 y sustituye los números de entrada por los tuyos.
Cómo calcularlo con Python
import random
lower = 1 # límite inferior
upper = 100 # límite superior
count = 5 # cuántos se generan
# números enteros aleatorios (con repetición)
integers = [random.randint(lower, upper) for _ in range(count)]
# números enteros aleatorios (sin repetición)
unique_integers = random.sample(range(lower, upper + 1), count)
# decimales aleatorios
decimals = [random.uniform(lower, upper) for _ in range(count)]
print(f"Números enteros aleatorios (con repetición): {integers}")
print(f"Números enteros aleatorios (sin repetición): {unique_integers}")
print(f"Decimales aleatorios: {decimals}")
# con una semilla fija, la misma sucesión vuelve a salir cada vez que lo ejecutas (una propiedad de los números pseudoaleatorios)
random.seed(42)
print(f"Números aleatorios con la semilla 42: {[random.randint(1, 100) for _ in range(3)]}")
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
P(X = k) = 1 / (b − a + 1)
P(X = k) = \frac{1}{b - a + 1}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi><mo>(</mo><mi>X</mi><mo>=</mo><mi>k</mi><mo>)</mo>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow><mi>b</mi><mo>−</mo><mi>a</mi><mo>+</mo><mn>1</mn></mrow>
</mfrac>
</mrow>
</math>
P(X = k) = 1/(b - a + 1)
1/(b - a + 1)
p := 1/(b - a + 1);
p = 1/(b - a + 1);
P(X = k) = 1/(b - a + 1)
f(x) = 1 / (b − a)
f(x) = \frac{1}{b - a}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow><mi>b</mi><mo>−</mo><mi>a</mi></mrow>
</mfrac>
</mrow>
</math>
f(x) = 1/(b - a)
1/(b - a)
f := 1/(b - a);
f = 1/(b - a);
f(x) = 1/(b - a)
E[X] = (a + b) / 2
E[X] = \frac{a + b}{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi><mo>[</mo><mi>X</mi><mo>]</mo>
<mo>=</mo>
<mfrac>
<mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow>
<mn>2</mn>
</mfrac>
</mrow>
</math>
E[X] = (a + b)/2
(a + b)/2
mean := (a + b)/2;
mean_x = (a + b)/2;
E[X] = (a + b)/2
n = a + ⌊u × (b − a + 1)⌋
n = a + \lfloor u \times (b - a + 1) \rfloor
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<mi>a</mi>
<mo>+</mo>
<mo>⌊</mo>
<mi>u</mi>
<mo>×</mo>
<mo>(</mo><mi>b</mi><mo>−</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo>
<mo>⌋</mo>
</mrow>
</math>
n = a + |__ u xx (b - a + 1) __|
a + Floor[u*(b - a + 1)]
n := a + floor(u*(b - a + 1));
n = a + floor(u*(b - a + 1));
n = a + ⌊u × (b - a + 1)⌋
Xₙ₊₁ = (a·Xₙ + c) mod m
X_{n+1} = (a X_n + c) \bmod m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>X</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub>
<mo>=</mo>
<mo>(</mo>
<mi>a</mi><msub><mi>X</mi><mi>n</mi></msub>
<mo>+</mo><mi>c</mi>
<mo>)</mo>
<mo>mod</mo>
<mi>m</mi>
</mrow>
</math>
X_(n+1) = (a X_n + c) mod m
Mod[a*x + c, m]
X[n + 1] := (a*X[n] + c) mod m;
x_next = mod(a*x + c, m);
X_(n+1) = (a X_n + c) mod m
Cómo pedirle a ChatGPT que haga el cálculo
Eres un asistente para generar números aleatorios. Haz lo siguiente ejecutando realmente código de Python y basa tu respuesta solo en los números del resultado de la ejecución (los números aleatorios no se pueden crear sin ejecutar código, así que no adivines ni inventes ningún número). 1. Genera 5 números enteros aleatorios del 1 al 100 sin repeticiones. 2. Ordena esos 5 números de menor a mayor. 3. Genera 1 decimal aleatorio de 0,2 a 112,5 con 3 cifras decimales. Muestra el código que has usado y los números del resultado de la ejecución.
Cómo usar
-
1Introduce los númerosEscribe en los campos los números con los que quieres calcular
-
2CalculaHaz clic en el botón «Calcular»
-
3Consulta el resultadoEl resultado aparece al instante. En la misma página también encontrarás el desarrollo del cálculo y la explicación de la fórmula
Las ventajas de DataChef
Sin conocimientos técnicos: fácil e intuitivo
Sin necesidad de dar datos personales
Los archivos se borran automáticamente tras la descarga
Sin necesidad de atribución
Sin necesidad de pedir permiso