Vul de ondergrens en de bovengrens in en klik op “Berekenen” om willekeurige getallen in dat bereik te genereren. Je kunt ook instellen hoeveel getallen, hoeveel cijfers achter de komma en of herhaling is toegestaan (alles behalve de grenzen mag leeg blijven, wat betekent 1 geheel getal, herhaling toegestaan).
Inhoudsopgave
-
Wat je op deze pagina kunt doen
-
Waarvoor is deze berekening handig?
-
Zo werkt het
-
Formule
-
Kans op elke waarde bij willekeurige hele getallen (discrete uniforme verdeling)
-
Hoe waarschijnlijk willekeurige decimalen zijn (kansdichtheid van de continue uniforme verdeling)
-
Gemiddelde van willekeurige getallen (verwachtingswaarde van een uniforme verdeling)
-
Een willekeurig getal van 0 tot 1 omzetten in een willekeurig geheel getal in een bereik
-
Een klassieke manier om pseudowillekeurige getallen te maken (lineaire congruentiemethode)
-
-
Symbolen en begrippen
-
Handig om vooraf te weten
-
Berekenen met Excel
-
Berekenen met Google Spreadsheets
-
Berekenen met Python
-
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
-
Zo laat je ChatGPT de berekening doen
-
Kenmerken van DataChef
-
Gerelateerde functies
-
Alle rekenmachines van NumberChef
Wat je op deze pagina kunt doen
- Vul alleen een ondergrens en een bovengrens in en je krijgt meteen willekeurige getallen (getallen die door het toeval worden gekozen) in dat bereik
- Je kunt ook willekeurige decimalen maken, niet alleen hele getallen. Kies 0 tot 50 cijfers achter de komma
- Maak tot 999 getallen tegelijk, met of zonder herhaling. Maak je er 2 of meer, dan toont het resultaat ze ook oplopend en aflopend gesorteerd, naast de volgorde waarin ze zijn gemaakt
- Werkt voor alles van een klein bereik als 1 tot 6 tot en met enorme hele getallen met meer dan 20 cijfers
- Een heldere uitleg over hoe willekeurige getallen werken en formules om te kopiëren voor Excel, Google Spreadsheets en Python staan ook op deze pagina
Waarvoor is deze berekening handig?
Geef elke deelnemer of leerling een nummer en kies met willekeurige getallen, en de keuze is eerlijk, zonder dat iemands bedoelingen meespelen. Iedereen heeft dezelfde kans om gekozen te worden (een uniforme verdeling). Het is een trekking waarvan de eerlijkheid door wiskunde wordt gewaarborgd.
Bij de Lotto in Nederland (Nederlandse Loterij) kies je 6 getallen van 1 tot en met 45, zonder herhaling. Dat werkt precies zo, en er zijn 8.145.060 mogelijke combinaties.
Hoe kan een peiling onder een paar duizend mensen zeggen wat heel Nederland denkt, zonder aan elke Nederlander te vragen? Het antwoord is de aselecte steekproef: de mensen die je vraagt kies je met willekeurige getallen. Kies je met opzet, dan vertekenen de resultaten, dus willekeurig kiezen maakt een onderzoek betrouwbaar.
Bij “random digit dialing” (RDD), een methode die bij sommige opiniepeilingen wordt gebruikt, worden de telefoonnummers zelf met willekeurige getallen gemaakt, zodat ook mensen met een geheim nummer dezelfde kans hebben om gebeld te worden.
Zelfs een probleem dat te ingewikkeld is om met een formule op te lossen, kun je bij benadering beantwoorden door tienduizenden willekeurige proeven uit te voeren en de resultaten op te tellen. Dit heet de Monte-Carlomethode. Ze wordt overal gebruikt, van risicoberekeningen bij banken en ensemble-weersverwachtingen (veel verwachtingen met licht verschillende beginvoorwaarden) tot onderzoek in de natuurkunde en geneeskunde.
De theoretische basis is de eigenschap die je op deze pagina leert: het gemiddelde van willekeurige getallen komt steeds dichter bij de verwachtingswaarde.
Al het toeval in videospellen, van dobbelstenen en het schudden van kaarten tot lootboxen en willekeurig gegenereerde levels, wordt gemaakt met pseudowillekeurige getallen.
Dat dezelfde seed dezelfde reeks geeft, wordt juist handig gebruikt, bij herhalingsfuncties en bij het delen van een wereld-seed met vrienden, zodat iedereen dezelfde wereld speelt.
Versleutelde verbindingen bij online winkelen en eenmalige wachtwoorden werken alleen dankzij willekeurige getallen, getallen die een aanvaller niet kan voorspellen.
Gewone pseudowillekeurige getallen zouden voorspeld kunnen worden, dus die kunnen hier niet worden gebruikt. In plaats daarvan worden cryptografisch veilige generatoren en hardwarematige getallengeneratoren gebruikt, die fysieke verschijnselen zoals warmteruis gebruiken. Dit is het veeleisendste gebruik van willekeurige getallen, waar hun kwaliteit bepaalt hoe veilig de wereld is.
Formule
Symbolen en begrippen
Symbolen
| \(a\) | a | De ondergrens van het bereik (dit getal of meer). (Voorbeeld: voor willekeurige getallen van 1 tot 100 is \(a = 1\)) |
| \(b\) | b | De bovengrens van het bereik (dit getal of minder). (Voorbeeld: voor willekeurige getallen van 1 tot 100 is \(b = 100\)) |
| \(P(X=k)\) | P van X is gelijk aan k | De kans dat het willekeurig getal \(X\) precies het gehele getal \(k\) is. Bij uniforme willekeurige hele getallen is die voor elke \(k\) hetzelfde. |
| \(f(x)\) | f van x (kansdichtheid) | De hoogte van de grafiek die laat zien hoe waarschijnlijk willekeurige decimalen zijn (de kansdichtheid). Bij een uniforme verdeling is de hoogte overal in het bereik gelijk. |
| \(E[X]\) | E van X (verwachtingswaarde) | De waarde waar het gemiddelde dichter naartoe gaat als je veel willekeurige getallen \(X\) genereert. E staat voor het Engelse “expectation” (verwachting). |
| \(u\) | u | Een uniform willekeurig getal van 0 tot (niet inclusief) 1. De meeste computergetallen worden eerst in deze vorm gemaakt en daarna in het gewenste bereik gezet. |
| \(\lfloor\ \rfloor\) | vloer (naar beneden afronden) | Een symbool dat het deel achter de komma van het getal erin weglaat en naar beneden afrondt op een geheel getal. (Voorbeeld: \(\lfloor 3{,}2 \rfloor = 3\)) |
| \(X_n\) | X n (index n) | De \(n\)-de waarde in een reeks pseudowillekeurige getallen. De beginwaarde \(X_0\) is de seed. |
| \(\bmod\) | mod | De bewerking die de rest van een deling geeft. (Voorbeeld: \(38 \bmod 16 = 6\), want 38 gedeeld door 16 is 2 rest 6) |
Begrippen
| willekeurig getal | Een getal zonder patroon waaraan je kunt voorspellen wat er daarna komt, zoals de worp van een dobbelsteen. De generator op deze pagina maakt getallen die willekeurig uit het ingestelde bereik worden gekozen. |
| uniforme verdeling | Een verdeling waarin elke waarde in het bereik even waarschijnlijk is. Bij willekeurige hele getallen heeft elk geheel getal dezelfde kans. Bij willekeurige decimalen heeft de grafiek overal dezelfde hoogte. |
| pseudowillekeurig getal | Een getal uit een reeks die door een formule wordt gemaakt en er willekeurig uitziet. De formule heet een PRNG (pseudorandom number generator). Bijna alle willekeurige getallen van computers zijn pseudowillekeurig. |
| seed | De beginwaarde waarmee de berekening van pseudowillekeurige getallen begint. Begin je met dezelfde seed, dan krijg je altijd precies dezelfde reeks. Normaal wordt de seed automatisch bepaald, bijvoorbeeld uit de huidige tijd, zodat elke reeks anders lijkt. |
| lineaire congruentiemethode | De meest klassieke manier om pseudowillekeurige getallen te maken, door “vermenigvuldigen, optellen, de rest nemen” te herhalen. Ideaal om te leren hoe het werkt, maar in de praktijk zijn tegenwoordig methoden van hogere kwaliteit, zoals de Mersenne Twister, de norm. |
| hardwarematige getallengenerator | Een apparaat dat willekeurige getallen maakt uit fysieke verschijnselen, zoals dobbelstenen, munten, elektrische ruis in de atmosfeer of warmteruis in elektronische schakelingen. Omdat er geen formule aan te pas komt, kunnen de getallen niet worden nagemaakt en komen ze dicht bij echte willekeurige getallen. |
| verwachtingswaarde | Het gemiddelde van een toevalsuitkomst bij heel veel herhalingen. Bij uniforme willekeurige getallen is de verwachtingswaarde precies het midden van het bereik. |
| aselecte steekproef | Kiezen wie of wat je onderzoekt op basis van toeval, bijvoorbeeld met willekeurige getallen, zonder dat een mens iets kiest. Het is de basismanier om vertekening in statistische onderzoeken te voorkomen. |
Handig om vooraf te weten
Dit helpt je om de berekening op deze pagina echt te begrijpen en niet alleen op de knop te drukken.
| Delen met rest (groep 5 tot 6, 8-10 jaar) |
|
| Decimalen en naar beneden afronden (groep 6 tot 7, 9-11 jaar) |
|
| Verhoudingen en procenten (groep 7, 10-11 jaar) |
|
| Basis van kansrekening (klas 2, 13-14 jaar) |
|
| Verwachtingswaarde (bovenbouw havo/vwo, 15-18 jaar) |
|
Berekenen met Excel
| Ondergrens a | 1 |
| Bovengrens b | 6 |
| Kans op elk geheel getal | =1/(B2-B1+1) |
| Ondergrens a | 0 |
| Bovengrens b | 10 |
| Kansdichtheid (hoogte van de grafiek) | =1/(B2-B1) |
| Ondergrens a | 1 |
| Bovengrens b | 100 |
| Gemiddelde (verwachtingswaarde) | =(B1+B2)/2 |
| Ondergrens a | 1 |
| Bovengrens b | 100 |
| Willekeurig geheel getal (verandert bij elke herberekening) | =B1+INTEGER(ASELECT()*(B2-B1+1)) |
| Huidig willekeurig getal Xn | 7 |
| Vermenigvuldiger a | 5 |
| Optelling c | 3 |
| Deler m | 16 |
| Volgend willekeurig getal | =REST(B2*B1+B3;B4) |
De eerste tabel toont ongeveer 0,1667 (= 1/6), de derde toont 50,5 en de vijfde toont 6.
ASELECT() in de vierde tabel maakt een willekeurig getal van 0 tot (niet inclusief) 1, precies in de vorm van de omzettingsformule in het gedeelte Formule. Druk op F9 om elke keer een nieuw willekeurig getal te krijgen.
INTEGER rondt naar beneden af op een geheel getal en REST geeft de rest van een deling.
Berekenen met Google Spreadsheets
| Ondergrens a | 1 |
| Bovengrens b | 6 |
| Kans op elk geheel getal | =1/(B2-B1+1) |
| Ondergrens a | 0 |
| Bovengrens b | 10 |
| Kansdichtheid (hoogte van de grafiek) | =1/(B2-B1) |
| Ondergrens a | 1 |
| Bovengrens b | 100 |
| Gemiddelde (verwachtingswaarde) | =(B1+B2)/2 |
| Ondergrens a | 1 |
| Bovengrens b | 100 |
| Willekeurig geheel getal (verandert bij elke herberekening) | =B1+INTEGER(ASELECT()*(B2-B1+1)) |
| Huidig willekeurig getal Xn | 7 |
| Vermenigvuldiger a | 5 |
| Optelling c | 3 |
| Deler m | 16 |
| Volgend willekeurig getal | =REST(B2*B1+B3;B4) |
Kopieer de hele tabel, plak die in cel A1 en vervang de invoergetallen door je eigen getallen.
Berekenen met Python
import random
lower = 1 # ondergrens
upper = 100 # bovengrens
count = 5 # hoeveel getallen te genereren
# willekeurige hele getallen (herhaling toegestaan)
integers = [random.randint(lower, upper) for _ in range(count)]
# willekeurige hele getallen (zonder herhaling)
unique_integers = random.sample(range(lower, upper + 1), count)
# willekeurige decimalen
decimals = [random.uniform(lower, upper) for _ in range(count)]
print(f"Willekeurige hele getallen (herhaling toegestaan): {integers}")
print(f"Willekeurige hele getallen (zonder herhaling): {unique_integers}")
print(f"Willekeurige decimalen: {decimals}")
# met een vaste seed komt elke keer dezelfde reeks terug als je het uitvoert (een eigenschap van pseudowillekeurige getallen)
random.seed(42)
print(f"Willekeurige getallen met seed 42: {[random.randint(1, 100) for _ in range(3)]}")
De formule in LaTeX en andere wiskundenotaties (om te kopiëren)
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
Zo laat je ChatGPT de berekening doen
Je bent een assistent voor het genereren van willekeurige getallen. Doe het volgende door echt Python-code uit te voeren en baseer je antwoord alleen op de getallen uit het resultaat van de uitvoering (willekeurige getallen kunnen niet zonder code worden gemaakt, dus gok niet en verzin geen getallen). 1. Genereer 5 willekeurige hele getallen van 1 tot 100 zonder herhaling. 2. Sorteer die 5 getallen oplopend. 3. Genereer 1 willekeurige decimaal van 0,2 tot 112,5 met 3 cijfers achter de komma. Toon de code die je hebt gebruikt en de getallen uit het resultaat van de uitvoering.
Zo werkt het
-
1Vul je getallen inTyp de getallen waarmee je wilt rekenen in de invoervelden
-
2BerekenKlik op de knop “Berekenen”
-
3Bekijk het resultaatHet resultaat verschijnt meteen. Op dezelfde pagina vind je ook de uitwerking van de berekening en de uitleg van de formule
Kenmerken van DataChef
Geen voorkennis nodig – intuïtieve en eenvoudige bediening
Zonder persoonlijke gegevens op te geven
Bestand wordt automatisch verwijderd zodra je op "Downloaden" klikt
Geen bronvermelding vereist
Geen toestemming vooraf nodig