Abbiamo una sequenza di numeri costituita da elementi praticamente indipendenti che obbediscono ad una determinata distribuzione. Di regola, distribuzione uniforme.
Puoi generare numeri casuali in Excel in diversi modi e modalità. Consideriamo solo i migliori.
Funzione numero casuale in Excel
- La funzione RAND restituisce un numero reale casuale e uniformemente distribuito. Sarà inferiore a 1, maggiore o uguale a 0.
- La funzione RANDBETWEEN restituisce un numero intero casuale.
Vediamo il loro utilizzo con degli esempi.
Campionamento di numeri casuali utilizzando RAND
Questa funzione non richiede argomenti (RAND()).
Per generare un numero reale casuale compreso tra 1 e 5, ad esempio, utilizzare la seguente formula: =RAND()*(5-1)+1.
Il numero casuale restituito viene distribuito uniformemente nell'intervallo.
Ogni volta che viene calcolato il foglio di lavoro o cambia il valore in qualsiasi cella del foglio di lavoro, viene restituito un nuovo numero casuale. Se vuoi salvare la popolazione generata, puoi sostituire la formula con il suo valore.
- Fare clic sulla cella con un numero casuale.
- Nella barra della formula selezionare la formula.
- Premi F9. ED ENTRA.
Controlliamo l'uniformità della distribuzione numeri casuali dal primo campione utilizzando un istogramma di distribuzione.
![](https://i0.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-5.png)
L'intervallo di valori verticali è la frequenza. Orizzontale - "tasche".
Funzione CASUALETRA
La sintassi per la funzione RANDBETWEEN è (limite inferiore; limite superiore). Il primo argomento deve essere minore del secondo. Altrimenti la funzione genererà un errore. Si presuppone che i confini siano numeri interi. Parte frazionaria la formula viene scartata.
Esempio di utilizzo della funzione:
![](https://i2.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-6.png)
Numeri casuali con precisione 0,1 e 0,01:
![](https://i2.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-7.png)
Come creare un generatore di numeri casuali in Excel
Creiamo un generatore di numeri casuali che generi un valore da un determinato intervallo. Usiamo una formula come: =INDEX(A1:A10,INTEGER(RAND()*10)+1).
![](https://i1.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-8.png)
Creiamo un generatore di numeri casuali nell'intervallo da 0 a 100 in passi di 10.
![](https://i0.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-9.png)
Dalla lista valori del testo devi sceglierne 2 casuali. Utilizzando la funzione RAND, confrontiamo i valori di testo nell'intervallo A1:A7 con numeri casuali.
![](https://i1.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-10.png)
Usiamo la funzione INDICE per selezionare due valori di testo casuali dall'elenco originale.
![](https://i1.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-11.png)
Per selezionare un valore casuale dall'elenco, utilizzare la formula seguente: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).
![](https://i2.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-12.png)
Generatore di numeri casuali a distribuzione normale
Le funzioni CASUALE e CASUALE TRA producono numeri casuali con una distribuzione uniforme. Qualsiasi valore con la stessa probabilità può rientrare nel limite inferiore dell'intervallo richiesto e in quello superiore. Ciò si traduce in un enorme spread rispetto al valore target.
Una distribuzione normale implica che la maggior parte dei numeri generati siano vicini al numero target. Regoliamo la formula RANDBETWEEN e creiamo un array di dati con una distribuzione normale.
Il costo del prodotto X è di 100 rubli. L'intero lotto prodotto segue una distribuzione normale. Anche una variabile casuale segue una distribuzione di probabilità normale.
In tali condizioni, il valore medio dell'intervallo è di 100 rubli. Generiamo un array e tracciamo un grafico con una distribuzione normale a deviazione standard 1,5 rubli.
Usiamo la funzione: =NORMINV(RAND();100;1.5).
Excel ha calcolato quali valori rientravano nell'intervallo di probabilità. Poiché la probabilità di produrre un prodotto con un costo di 100 rubli è massima, la formula mostra valori vicini a 100 più spesso di altre.
Passiamo alla tracciatura del grafico. Per prima cosa devi creare una tabella con le categorie. Per fare ciò, dividiamo l'array in periodi:
![](https://i2.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-14.png)
![](https://i1.wp.com/exceltable.com/funkcii-excel/images/funkcii-excel20-16.png)
Sulla base dei dati ottenuti, possiamo generare un diagramma con una distribuzione normale. L'asse dei valori è il numero di variabili nell'intervallo, l'asse delle categorie sono i periodi.
Ecc., e viene utilizzato dai proprietari di account per attirare nuovo pubblico alla comunità.
Il risultato di tali estrazioni dipende spesso dalla fortuna dell'utente, poiché il destinatario del premio è determinato a caso.
Per effettuare questa determinazione, gli organizzatori della lotteria utilizzano quasi sempre un generatore di numeri casuali online o preinstallato distribuito gratuitamente.
Scelta
Molto spesso, la scelta di un generatore di questo tipo può essere difficile, poiché la loro funzionalità è abbastanza diversa: per alcuni è significativamente limitata, per altri è piuttosto ampia.
Si sta implementando abbastanza un gran numero di tali servizi, ma la difficoltà è che differiscono nella portata.
Molti, ad esempio, sono legati nella loro funzionalità a un certo rete sociale(ad esempio, molte applicazioni di generazione funzionano solo con i collegamenti di questo).
Maggior parte generatori semplici determinano semplicemente in modo casuale un numero all'interno di un determinato intervallo.
Questo è comodo perché non associa il risultato a un post specifico, il che significa che può essere utilizzato per concorsi a premi al di fuori del social network e in varie altre situazioni.
Essenzialmente non hanno altro uso.
Consiglio! Quando si sceglie il generatore più adatto è importante considerare a cosa servirà.
Specifiche
Per lo più processo veloce scegliendo il servizio di generazione di numeri casuali online ottimale, la tabella seguente mostra i principali specifiche e la funzionalità di tali applicazioni.
Nome | Rete sociale | Risultati multipli | Selezionare da un elenco di numeri | Widget online per il sito | Selezionare da un intervallo | Disabilitare le ripetizioni |
---|---|---|---|---|---|---|
RandStuff | SÌ | SÌ | NO | SÌ | NO | |
Tirare a sorte | Sito ufficiale o VKontakte | NO | NO | SÌ | SÌ | SÌ |
Numero casuale | Sito ufficiale | NO | NO | NO | SÌ | SÌ |
Randomus | Sito ufficiale | SÌ | NO | NO | SÌ | NO |
Numeri casuali | Sito ufficiale | SÌ | NO | NO | NO | NO |
Tutte le applicazioni discusse nella tabella sono descritte più dettagliatamente di seguito.
RandStuff
Puoi utilizzare questa applicazione online seguendo il collegamento al suo sito Web ufficiale http://randstuff.ru/number/.
Questo è un semplice generatore di numeri casuali, caratterizzato da un funzionamento veloce e stabile.
È implementato con successo sia in un formato separato applicazione autonoma sul sito ufficiale e come applicazione in formato .
La particolarità di questo servizio è che può selezionare un numero casuale sia dall'intervallo specificato che da elenco specifico numeri che possono essere indicati sul sito.
- Stabile e lavoro veloce;
- Mancanza di connessione diretta a un social network;
- È possibile selezionare uno o più numeri;
- Puoi scegliere solo tra i numeri specificati.
Recensioni degli utenti su questa applicazione sono i seguenti: “Attraverso questo servizio determiniamo i vincitori nei gruppi VKontakte. Grazie”, “Sei il migliore”, “Utilizzo solo questo servizio”.
Tirare a sorte
Questa applicazione è un semplice generatore di funzioni, implementato sul sito ufficiale sotto forma di applicazione VKontakte.
C'è anche un widget generatore da inserire nel tuo sito web.
La differenza principale rispetto all'applicazione descritta in precedenza è che questa consente di disattivare la ripetizione del risultato.
Varie lotterie, concorsi a premi, ecc. si svolgono spesso in molti gruppi o pagine pubbliche sui social network, Instagram, ecc. e vengono utilizzate dai proprietari di account per attirare nuovo pubblico nella comunità.
Il risultato di tali estrazioni dipende spesso dalla fortuna dell'utente, poiché il destinatario del premio viene determinato in modo casuale.
Per effettuare questa determinazione, gli organizzatori della lotteria utilizzano quasi sempre un generatore di numeri casuali online o preinstallato distribuito gratuitamente.
Scelta
Molto spesso, la scelta di un generatore di questo tipo può essere difficile, poiché la loro funzionalità è abbastanza diversa: per alcuni è significativamente limitata, per altri è piuttosto ampia.
Viene implementato un numero piuttosto elevato di tali servizi, ma la difficoltà è che differiscono nella portata.
Molti, ad esempio, sono legati per la loro funzionalità a uno specifico social network (ad esempio, molte applicazioni di generazione su VKontakte funzionano solo con collegamenti da questo social network).
I generatori più semplici determinano semplicemente in modo casuale un numero all'interno di un determinato intervallo.
Questo è comodo perché non associa il risultato a un post specifico, il che significa che può essere utilizzato per concorsi a premi al di fuori del social network e in varie altre situazioni.
Essenzialmente non hanno altro uso.
<Рис. 1 Генератор>
Consiglio! Quando si sceglie il generatore più adatto è importante considerare a cosa servirà.
Specifiche
Per un processo più rapido di scelta del servizio online ottimale per la generazione di numeri casuali, la tabella seguente mostra le principali caratteristiche tecniche e funzionalità di tali applicazioni.
Nome | Rete sociale | Risultati multipli | Selezionare da un elenco di numeri | Widget online per il sito | Selezionare da un intervallo | Disabilitare le ripetizioni |
---|---|---|---|---|---|---|
RandStuff | SÌ | SÌ | NO | SÌ | NO | |
Tirare a sorte | Sito ufficiale o VKontakte | NO | NO | SÌ | SÌ | SÌ |
Numero casuale | Sito ufficiale | NO | NO | NO | SÌ | SÌ |
Randomus | Sito ufficiale | SÌ | NO | NO | SÌ | NO |
Numeri casuali | Sito ufficiale | SÌ | NO | NO | NO | NO |
Tutte le applicazioni discusse nella tabella sono descritte più dettagliatamente di seguito.
<Рис. 2 Случайные числа>
RandStuff
<Рис. 3 RandStuff>
Puoi utilizzare questa applicazione online seguendo il collegamento al suo sito Web ufficiale http://randstuff.ru/number/.
Questo è un semplice generatore di numeri casuali, caratterizzato da un funzionamento veloce e stabile.
È implementato con successo sia nel formato di un'applicazione indipendente separata sul sito Web ufficiale, sia come applicazione sul social network VKontakte.
La particolarità di questo servizio è che può selezionare un numero casuale sia da un intervallo specificato che da un elenco specifico di numeri che è possibile specificare sul sito.
Professionisti:
- Lavoro stabile e veloce;
- Mancanza di connessione diretta a un social network;
- È possibile selezionare uno o più numeri;
- Puoi scegliere solo tra i numeri specificati.
Aspetti negativi:
- Impossibilità di tenere un disegno su VKontakte (questo richiede applicazione separata);
- Le applicazioni per VKontakte non funzionano in tutti i browser;
- Il risultato a volte sembra prevedibile perché viene utilizzato un solo algoritmo di calcolo.
Le recensioni degli utenti su questa applicazione sono le seguenti: “Determiniamo i vincitori nei gruppi VKontakte attraverso questo servizio. Grazie”, “Sei il migliore”, “Utilizzo solo questo servizio”.
Tirare a sorte
<Рис. 4 Cast Lots>
Questa applicazione è un semplice generatore di funzioni, implementato sul sito ufficiale sotto forma di applicazione VKontakte.
C'è anche un widget generatore da inserire nel tuo sito web.
La differenza principale rispetto all'applicazione descritta in precedenza è che questa consente di disattivare la ripetizione del risultato.
Cioè, quando si eseguono più generazioni di seguito in una sessione, il numero non verrà ripetuto.
- Disponibilità di un widget da inserire in un sito web o blog;
- Possibilità di disabilitare la ripetizione dei risultati;
- La presenza della funzione “ancora più casualità”, dopo l'attivazione della quale cambia l'algoritmo di selezione.
Negativo:
- Incapacità di determinare più risultati contemporaneamente;
- Impossibilità di selezionare da un elenco specifico di numeri;
- Per selezionare un vincitore tra i pubblici, è necessario utilizzare un widget VKontakte separato.
Le recensioni degli utenti sono le seguenti: "Funziona stabilmente, è abbastanza comodo da usare", "Funzionalità comoda", "Uso solo questo servizio".
Numero casuale
<Рис. 5 Случайное число>
Questo servizio si trova su http://randomnumber.rf/.
Generatore semplice con funzioni minime e caratteristiche aggiuntive.
Può generare casualmente numeri entro un intervallo specificato (massimo da 1 a 99999).
Il sito non ha n graphic design, e quindi la pagina si carica facilmente.
Il risultato può essere copiato o scaricato con un clic di un pulsante.
Negativo:
- Mancanza di un widget per VKontakte;
- Non è possibile effettuare pareggi;
- Non è possibile incorporare il risultato in un blog o un sito Web.
Ecco cosa dicono gli utenti questo servizio: “Generatore non male, ma funzioni insufficienti”, “Pochissime funzionalità”, “Adatto a generazione veloce numeri senza impostazioni non necessarie.”
Randomus
<Рис. 6 Рандомус>
Puoi utilizzare questo generatore di numeri casuali su http://randomus.ru/.
Un altro, abbastanza semplice, ma generatore funzionale di numeri casuali.
Il servizio ha funzionalità sufficienti per determinare numeri casuali, ma non è adatto per effettuare estrazioni e altri processi più complessi.
Negativo:
- Impossibilità di trattenere disegni basati su repost di un post, ecc.
- Non esiste un'applicazione per VKontakte o un widget per il sito;
- Non è possibile disabilitare la ripetizione dei risultati.
Con questo generatore puoi creare numeri casuali in qualsiasi intervallo. Questo generatore ti consentirà anche di selezionare o determinare in modo casuale un numero da un elenco. Oppure crea una serie di numeri casuali da 2 a 70 elementi. Questo strumento in linea non solo ti consentirà di creare numeri casuali a una (1), due (2) o tre cifre (3), ma anche cinque e sette. Facile da configurare. Tutti possono padroneggiarlo. Potrai anche selezionare numeri casuali per lotterie o concorsi online o offline. E sarà conveniente. Puoi creare facilmente intere tabelle o serie di numeri casuali. In una frazione di secondo riceverai un numero casuale o una sequenza di essi (set) sullo schermo. Se prendi una sequenza dei tuoi numeri, l'algoritmo ne sceglierà uno casuale o quelli casuali, chiunque può cadere. Tu stesso puoi utilizzare questo strumento per condurre concorsi a premi. Scegliendo, ad esempio, lo stesso intervallo e numero di numeri nel risultato, è possibile generare una sequenza (combinazione) casuale. Puoi anche scegliere combinazioni di lettere e parole casuali. Questo strumento, come tutto sul nostro sito, è completamente gratuito (senza eccezioni).
Inserisci i numeri dell'intervallo
DaPrima
creare
Modifica dell'intervallo per generare un numero casuale
1..10 1..100 1..1000 1..10000 per lotteria 5 su 36 per lotteria 6 su 45 per lotteria 6 su 49 per lotteria 6 su 59
Numero di numeri casuali (1)
Elimina le ripetizioni
Scegliere valori casuali dalla lista (separati da virgole o spazi, se trovate virgole la divisione verrà fatta per esse, altrimenti per spazi)
Cos'è la casualità in un computer? Come vengono generati i numeri casuali? In questo articolo abbiamo cercato di fornire risposte semplici a queste domande.
IN Software, e nella tecnologia in generale c'è bisogno di casualità riproducibile: numeri e immagini che sembrano casuali sono in realtà generati da un certo algoritmo. Questo si chiama pseudocasualità e lo vedremo modi semplici creazione numeri pseudocasuali. Alla fine dell'articolo formuleremo un semplice teorema per generare questi numeri apparentemente casuali.
Determinare cosa costituisce esattamente un incidente può essere piuttosto difficile. compito difficile. Esistono test (come la complessità di Kolmogorov) che possono darti un valore esatto di quanto sia casuale una particolare sequenza. Ma non ci preoccuperemo, proveremo solo a creare una sequenza di numeri che sembreranno slegati tra loro.
Spesso ciò che serve non è un solo numero, ma diversi numeri casuali generati continuamente. Pertanto, dato valore iniziale, dobbiamo creare altri numeri casuali. Questo valore iniziale viene chiamato seme, e vedremo come ottenerlo in seguito. Per ora, concentriamoci sulla creazione di altri valori casuali.
Generazione di numeri casuali da un seme
Un approccio potrebbe essere quello di fare qualche pazzia formula matematica al seme, quindi distorcerlo così tanto che il numero di output sembra imprevedibile, quindi prenderlo come seme per l'iterazione successiva. L'unica domanda è come dovrebbe apparire questa funzione di distorsione.
Sperimentiamo questa idea e vediamo dove ci porta.
La funzione di distorsione assumerà un valore e ne restituirà un altro. Chiamiamolo R.
R(Ingresso) -> Uscita
Se il valore del nostro seme è 1, allora R creerà una serie di 1, 2, 3, 4,... Questo non sembra affatto casuale, ma ci arriveremo. Lasciamo ora che R aggiunga una costante invece di 1.
R(x) = x + c |
Se c è uguale, ad esempio, a 7, otteniamo la serie 1, 8, 15, 22, ... Ancora non è la stessa cosa. Ovviamente, ciò che ci manca è che i numeri non dovrebbero solo aumentare, ma dovrebbero essere distribuiti in un certo intervallo. Abbiamo bisogno che la nostra sequenza ritorni all'inizio: un cerchio di numeri!
Cerchio numerico
Diamo un'occhiata al quadrante dell'orologio: la nostra riga inizia alle 1 e gira in cerchio fino alle 12. Ma poiché stiamo lavorando con un computer, lasciamo che ci sia 0 invece di 12.
Ora partendo da 1 aggiungeremo nuovamente 7. Progresso! Vediamo che dopo il 12 la nostra serie inizia a ripetersi, indipendentemente dal numero con cui iniziamo.
Qui otteniamo una proprietà molto importante: se il nostro ciclo è composto da n elementi, allora numero massimo il numero di elementi che possiamo ottenere prima che inizino a ripetersi è n.
Ora riscriviamo la funzione R per adattarla alla nostra logica. È possibile limitare la lunghezza di un ciclo utilizzando l'operatore modulo o l'operatore resto.
R(x) = (x + c) % m
R (x) = (x + c) % m |
A questo punto potresti notare che alcuni numeri non rientrano in c. Se c = 4 e iniziassimo da 1, la nostra sequenza sarebbe 1, 5, 9, 1, 5, 9, 1, 5, 9, ... il che ovviamente non funziona per noi, perché questa sequenza è assolutamente non casuale. Diventa chiaro che i numeri che scegliamo per la lunghezza del loop e la lunghezza del salto devono essere correlati in modo speciale.
Se ne provi alcuni significati diversi, allora puoi vedere una proprietà: m e c devono essere primi tra loro.
Finora abbiamo fatto passi da gigante con le addizioni, ma cosa succede se usiamo la moltiplicazione? Moltiplichiamo X ad una costante UN.
R(x) = (ax + c) % m
R (x) = (ax + c) % m |
Le proprietà a cui deve obbedire affinché si formi un ciclo completo sono un po' più specifiche. Per creare un ciclo valido:
- (a - 1) deve essere divisibile per tutti i fattori primi m
- (a - 1) deve essere divisibile per 4 se m è divisibile per 4
Queste proprietà, insieme alla regola secondo cui m e c devono essere primi tra loro, costituiscono il teorema di Hull-Dobell. Non ne esamineremo la dimostrazione, ma se prendessi una serie di valori diversi per costanti diverse, potresti arrivare alla stessa conclusione.
Selezione dei semi
Ora è il momento di parlare della parte divertente: scegliere il seme iniziale. Potremmo renderlo una costante. Questo può essere utile nei casi in cui hai bisogno di numeri casuali, ma vuoi che siano gli stessi ogni volta che esegui il programma. Ad esempio, creando la stessa mappa per ogni gioco.
Un altro modo è ottenere un seed da una nuova fonte ogni volta che si esegue il programma, come in Orologio di sistema. Ciò è utile quando hai bisogno di un numero casuale totale, come in un programma di lancio dei dadi.
Risultato finale
Quando applichiamo più volte una funzione al suo risultato, otteniamo una relazione di ricorrenza. Scriviamo la nostra formula usando la ricorsione.