Scrivi il limite inferiore e quello superiore e fai clic su «Calcola» per generare numeri casuali in quell’intervallo. Puoi anche stabilire quanti, le cifre decimali e se le ripetizioni sono ammesse (tutto tranne i limiti si può lasciare vuoto, e vuol dire 1 numero intero, ripetizioni ammesse).
Indice
-
Cosa puoi fare in questa pagina
-
A cosa serve questo calcolo?
-
Come si usa
-
Formula
-
Probabilità di ogni valore per i numeri interi casuali (distribuzione uniforme discreta)
-
Quanto sono probabili i decimali casuali (densità di probabilità della distribuzione uniforme continua)
-
Media dei numeri casuali (valore atteso di una distribuzione uniforme)
-
Trasformare un numero casuale da 0 a 1 in un numero intero casuale in un intervallo
-
Un modo classico di creare numeri pseudocasuali (generatore congruenziale lineare)
-
-
Simboli e termini
-
Cosa conviene sapere prima
-
Come calcolarlo con Excel
-
Come calcolarlo con Fogli Google
-
Come calcolarlo con Python
-
La formula in LaTeX e in altre notazioni matematiche (da copiare)
-
Come chiedere a ChatGPT di fare il calcolo
-
I punti di forza di DataChef
-
Funzioni correlate
-
Tutte le calcolatrici di NumberChef
Cosa puoi fare in questa pagina
- Scrivi solo un limite inferiore e uno superiore per ottenere subito numeri casuali (numeri scelti dal caso) in quell’intervallo
- Puoi ottenere numeri decimali casuali oltre agli interi. Scegli da 0 a 50 cifre decimali
- Genera fino a 999 numeri per volta, con o senza ripetizioni. Se ne crei 2 o più, il risultato li mostra anche in ordine crescente e decrescente, oltre all’ordine in cui sono stati generati
- Funziona da un piccolo intervallo come da 1 a 6 fino a numeri interi enormi con più di 20 cifre
- In questa pagina trovi anche una spiegazione semplice di come funzionano i numeri casuali e le formule pronte da copiare per Excel, Fogli Google e Python
A cosa serve questo calcolo?
Dai un numero a ogni partecipante o studente e scegli con i numeri casuali, e la scelta è equa, senza che c’entrino le intenzioni di nessuno. Tutti hanno la stessa probabilità di essere scelti (una distribuzione uniforme). È un sorteggio la cui equità è garantita dalla matematica.
I 6 numeri del SuperEnalotto, «6 numeri da 1 a 90 senza ripetizioni», funzionano esattamente così e le possibili sestine sono 622.614.630.
Come può un sondaggio su poche migliaia di persone dirci cosa pensa l’intero Paese, senza chiedere a ogni italiano? La risposta è il campionamento casuale: scegliere con i numeri casuali le persone da intervistare. Scegliere di proposito distorcerebbe i risultati, quindi scegliere a caso è ciò che rende affidabile un’indagine.
La selezione casuale dei numeri di telefono (random digit dialing, RDD), usata in molti sondaggi di opinione, crea i numeri di telefono stessi con i numeri casuali, così chi ha un numero non in elenco ha la stessa probabilità di essere chiamato.
Anche un problema troppo complesso da risolvere con una formula si può risolvere in modo approssimato eseguendo decine di migliaia di prove casuali e sommando i risultati. Si chiama metodo Monte Carlo. Si usa dappertutto, dal calcolo del rischio nelle banche alle previsioni meteo d’insieme (molte previsioni con condizioni iniziali leggermente diverse), fino alla ricerca in fisica e in medicina.
Il suo fondamento teorico è la proprietà che impari in questa pagina: la media dei numeri casuali si avvicina al valore atteso.
Tutto il caso nei videogiochi, dai lanci di dadi alle carte mescolate, dai premi casuali alle mappe generate a caso, è creato con numeri pseudocasuali.
Il fatto che lo stesso seme dia la stessa sequenza viene anzi sfruttato bene, nelle funzioni di replay e nella condivisione del seme di un mondo con gli amici per giocare tutti sulla stessa mappa.
Le connessioni cifrate degli acquisti online e le password monouso funzionano solo grazie ai numeri casuali, numeri che un attaccante non può prevedere.
I normali numeri pseudocasuali potrebbero essere previsti, quindi qui non si possono usare. Si usano invece generatori crittograficamente sicuri e generatori di numeri casuali hardware, che sfruttano fenomeni fisici come il rumore termico. È l’uso più esigente dei numeri casuali, in cui la loro qualità decide quanto è sicuro il mondo.
Formula
Simboli e termini
Simboli
| \(a\) | a | Il limite inferiore dell’intervallo (questo numero o più). (Esempio: per numeri casuali da 1 a 100, \(a = 1\)) |
| \(b\) | b | Il limite superiore dell’intervallo (questo numero o meno). (Esempio: per numeri casuali da 1 a 100, \(b = 100\)) |
| \(P(X=k)\) | P di X uguale a k | La probabilità che il numero casuale \(X\) sia esattamente il numero intero \(k\). Per i numeri interi casuali uniformi è uguale per ogni \(k\). |
| \(f(x)\) | f di x (densità di probabilità) | L’altezza del grafico che mostra quanto sono probabili i decimali casuali (la funzione di densità). Per una distribuzione uniforme l’altezza è la stessa dappertutto nell’intervallo. |
| \(E[X]\) | E di X (valore atteso) | Il valore a cui si avvicina la media quando generi molti numeri casuali \(X\). E è l’iniziale di «expectation» (valore atteso). |
| \(u\) | u | Un numero casuale uniforme da 0 fino a 1 escluso. La maggior parte dei numeri casuali dei computer viene creata prima in questa forma, poi portata nell’intervallo che vuoi. |
| \(\lfloor\ \rfloor\) | parte intera (funzione parte intera) | Un simbolo che elimina la parte decimale del numero al suo interno arrotondandolo per difetto a un numero intero. (Esempio: \(\lfloor 3{,}2 \rfloor = 3\)) |
| \(X_n\) | X con n | L’\(n\)-esimo valore in una sequenza di numeri pseudocasuali. Il valore iniziale \(X_0\) è il seme. |
| \(\bmod\) | mod | L’operazione che dà il resto di una divisione. (Esempio: \(38 \bmod 16 = 6\), perché 38 diviso 16 fa 2 con resto 6) |
Termini
| numero casuale | Un numero senza uno schema che permetta di prevedere cosa verrà dopo, come l’esito del lancio di un dado. Il generatore di questa pagina crea numeri scelti a caso dall’intervallo che stabilisci. |
| distribuzione uniforme | Una distribuzione in cui ogni valore dell’intervallo è ugualmente probabile. Per i numeri interi casuali, ogni numero intero ha la stessa probabilità. Per i decimali casuali, il grafico ha la stessa altezza dappertutto. |
| numero pseudocasuale | Un numero di una sequenza creata da una formula che sembra casuale. La formula si chiama PRNG (generatore di numeri pseudocasuali). Quasi tutti i numeri casuali dei computer sono numeri pseudocasuali. |
| seme | Il valore iniziale da cui parte il calcolo dei numeri pseudocasuali. Partendo dallo stesso seme (in inglese «seed») si ottiene sempre esattamente la stessa sequenza. Di solito il seme viene stabilito in automatico, per esempio dall’ora attuale, quindi ogni sequenza sembra diversa. |
| generatore congruenziale lineare | Il modo più classico di creare numeri pseudocasuali, ripetendo «moltiplica, aggiungi, tieni il resto». È l’ideale per imparare come funzionano, ma oggi nella pratica sono la norma metodi di qualità superiore come il Mersenne Twister. |
| generatore di numeri casuali hardware | Un dispositivo che crea numeri casuali da fenomeni fisici, come dadi, monete, il rumore elettrico dell’atmosfera o il rumore termico dei circuiti elettronici. Poiché non c’è nessuna formula, i numeri non si possono riprodurre e si avvicinano ai veri numeri casuali. |
| valore atteso | La media di un esito casuale su molte ripetizioni. Per i numeri casuali uniformi, il valore atteso è esattamente il punto di mezzo dell’intervallo. |
| campionamento casuale | Scegliere chi o cosa studiare a caso, per esempio con numeri casuali, senza nessuna scelta umana. È il modo di base per evitare distorsioni nelle indagini statistiche. |
Cosa conviene sapere prima
Ecco cosa ti aiuta a usare il calcolo di questa pagina capendolo davvero, e non solo premendo il pulsante.
| Divisione con resto (classi 3ª–4ª della primaria, 8-10 anni) |
|
| Numeri decimali e arrotondamento per difetto (classi 4ª–5ª della primaria, 9-11 anni) |
|
| Rapporti e percentuali (classe 5ª della primaria, 10-11 anni) |
|
| Probabilità di base (scuola secondaria di primo grado, 11-14 anni) |
|
| Valore atteso (scuola secondaria di secondo grado, statistica) |
|
Come calcolarlo con Excel
| Limite inferiore a | 1 |
| Limite superiore b | 6 |
| Probabilità di ogni numero intero | =1/(B2-B1+1) |
| Limite inferiore a | 0 |
| Limite superiore b | 10 |
| Densità di probabilità (altezza del grafico) | =1/(B2-B1) |
| Limite inferiore a | 1 |
| Limite superiore b | 100 |
| Media (valore atteso) | =(B1+B2)/2 |
| Limite inferiore a | 1 |
| Limite superiore b | 100 |
| Numero intero casuale (cambia a ogni ricalcolo) | =B1+INT(CASUALE()*(B2-B1+1)) |
| Numero casuale attuale Xn | 7 |
| Moltiplicatore a | 5 |
| Incremento c | 3 |
| Divisore m | 16 |
| Numero casuale successivo | =RESTO(B2*B1+B3;B4) |
La prima tabella mostra circa 0,1667 (= 1/6), la terza mostra 50,5 e la quinta mostra 6.
CASUALE() nella quarta tabella crea un numero casuale da 0 fino a 1 escluso, esattamente nella forma della formula di trasformazione della sezione «Formula». Premi F9 per ottenere ogni volta un nuovo numero casuale.
Come calcolarlo con Fogli Google
| Limite inferiore a | 1 |
| Limite superiore b | 6 |
| Probabilità di ogni numero intero | =1/(B2-B1+1) |
| Limite inferiore a | 0 |
| Limite superiore b | 10 |
| Densità di probabilità (altezza del grafico) | =1/(B2-B1) |
| Limite inferiore a | 1 |
| Limite superiore b | 100 |
| Media (valore atteso) | =(B1+B2)/2 |
| Limite inferiore a | 1 |
| Limite superiore b | 100 |
| Numero intero casuale (cambia a ogni ricalcolo) | =B1+INT(CASUALE()*(B2-B1+1)) |
| Numero casuale attuale Xn | 7 |
| Moltiplicatore a | 5 |
| Incremento c | 3 |
| Divisore m | 16 |
| Numero casuale successivo | =RESTO(B2*B1+B3;B4) |
Copia l’intera tabella, incollala nella cella A1 e sostituisci i numeri di input con i tuoi.
Come calcolarlo con Python
import random
lower = 1 # limite inferiore
upper = 100 # limite superiore
count = 5 # quanti generarne
# numeri interi casuali (ripetizioni ammesse)
integers = [random.randint(lower, upper) for _ in range(count)]
# numeri interi casuali (senza ripetizioni)
unique_integers = random.sample(range(lower, upper + 1), count)
# numeri decimali casuali
decimals = [random.uniform(lower, upper) for _ in range(count)]
print(f"Numeri interi casuali (ripetizioni ammesse): {integers}")
print(f"Numeri interi casuali (senza ripetizioni): {unique_integers}")
print(f"Numeri decimali casuali: {decimals}")
# con un seme fisso, a ogni esecuzione torna la stessa sequenza (una proprietà dei numeri pseudocasuali)
random.seed(42)
print(f"Numeri casuali con seme 42: {[random.randint(1, 100) for _ in range(3)]}")
La formula in LaTeX e in altre notazioni matematiche (da copiare)
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
Come chiedere a ChatGPT di fare il calcolo
Sei un assistente per generare numeri casuali. Fai quanto segue eseguendo davvero codice Python e basa la risposta solo sui numeri del risultato dell’esecuzione (i numeri casuali non si possono creare senza eseguire codice, quindi non indovinare né inventare nessun numero). 1. Genera 5 numeri interi casuali da 1 a 100 senza ripetizioni. 2. Ordina quei 5 numeri in ordine crescente. 3. Genera 1 numero decimale casuale da 0,2 a 112,5 con 3 cifre decimali. Mostra il codice che hai usato e i numeri del risultato dell’esecuzione.
Come si usa
-
1Inserisci i numeriScrivi nei campi i numeri con cui vuoi fare il calcolo
-
2CalcolaFai clic sul pulsante «Calcola»
-
3Guarda il risultatoIl risultato compare subito. Nella stessa pagina trovi anche lo svolgimento del calcolo e la spiegazione della formula
I punti di forza di DataChef
Nessuna competenza richiesta, semplice e intuitivo
Nessun dato personale richiesto
Il file viene eliminato automaticamente dopo il download
Nessun obbligo di attribuzione
Nessuna autorizzazione preventiva necessaria