std:: bernoulli_distribution
From cppreference.net
|
Definiert in Header
<random>
|
||
|
class
bernoulli_distribution
;
|
(seit C++11) | |
Erzeugt zufällige boolesche Werte gemäß der diskreten Wahrscheinlichkeitsfunktion. Die Wahrscheinlichkeit für true beträgt
-
P(b|p) =
⎧
⎨
⎩ p , falls b true ist
1 − p , falls b false ist
std::bernoulli_distribution
erfüllt die Anforderungen von
RandomNumberDistribution
.
Inhaltsverzeichnis |
Mitgliedertypen
| Mitgliedertyp | Definition |
result_type
(C++11)
|
bool |
param_type
(C++11)
|
der Typ des Parametersatzes, siehe RandomNumberDistribution . |
Memberfunktionen
|
(C++11)
|
Konstruiert eine neue Verteilung
(öffentliche Mitgliedsfunktion) |
|
(C++11)
|
setzt den internen Zustand der Verteilung zurück
(öffentliche Mitgliedsfunktion) |
Erzeugung |
|
|
(C++11)
|
erzeugt die nächste Zufallszahl in der Verteilung
(öffentliche Mitgliedsfunktion) |
Eigenschaften |
|
|
(C++11)
|
gibt den
p
-Verteilungsparameter zurück (Wahrscheinlichkeit der Erzeugung von
true
)
(öffentliche Mitgliedsfunktion) |
|
(C++11)
|
ruft das Verteilungsparameterobjekt ab oder legt es fest
(öffentliche Mitgliedsfunktion) |
|
(C++11)
|
gibt den minimal möglicherweise generierten Wert zurück
(öffentliche Mitgliedsfunktion) |
|
(C++11)
|
gibt den maximal möglicherweise generierten Wert zurück
(öffentliche Mitgliedsfunktion) |
Nicht-Member-Funktionen
|
(C++11)
(C++11)
(entfernt in C++20)
|
vergleicht zwei Verteilungs-Objekte
(Funktion) |
|
(C++11)
|
führt Stream-Ein- und Ausgabe für Pseudo-Zufallszahlenverteilung durch
(Funktions-Template) |
Beispiel
Diesen Code ausführen
#include <iomanip> #include <iostream> #include <map> #include <random> #include <string> int main() { std::random_device rd; std::mt19937 gen(rd()); // "true" in 1/4 der Fälle zurückgeben // "false" in 3/4 der Fälle zurückgeben std::bernoulli_distribution d(0.25); std::map<bool, int> hist; for (int n = 0; n < 10000; ++n) ++hist[d(gen)]; std::cout << std::boolalpha; for (auto const& [key, value] : hist) std::cout << std::setw(5) << key << ' ' << std::string(value / 500, '*') << '\n'; }
Mögliche Ausgabe:
false *************** true ****
Externe Links
| Weisstein, Eric W. "Bernoulli Distribution." Von MathWorld — Eine Wolfram Web Resource. |