std::bernoulli_distribution
Von cppreference.com
| Definiert in Header <random> |
||
| class bernoulli_distribution; |
(seit C++11) | |
Erzeugt zufällige boolesche Werte gemäß der diskreten Wahrscheinlichkeitsfunktion. Die Wahrscheinlichkeit für true ist
- P(b|p) =⎧
⎨
⎩p, wenn b true ist
1 − p, wenn b false ist
std::bernoulli_distribution erfüllt RandomNumberDistribution.
Inhalt |
[bearbeiten] Member types
| Mitgliedertyp | Definition |
result_type (C++11) |
bool |
param_type (C++11) |
Der Typ des Parametersets, siehe RandomNumberDistribution. |
[bearbeiten] Member functions
| (C++11) |
erzeugt neue Verteilung (public member function) |
| (C++11) |
setzt den internen Zustand der Verteilung zurück (public member function) |
Generierung | |
| (C++11) |
erzeugt die nächste Zufallszahl in der Verteilung (public member function) |
Eigenschaften des Generators | |
| (C++11) |
gibt den Verteilungsparameter p zurück (Wahrscheinlichkeit, true zu erzeugen) (public member function) |
| (C++11) |
holt oder setzt das Parameterobjekt der Verteilung (public member function) |
| (C++11) |
gibt den minimalen potenziell generierten Wert zurück (public member function) |
| (C++11) |
gibt den maximalen potenziell generierten Wert zurück (public member function) |
[bearbeiten] Non-member functions
| (C++11)(C++11)(entfernt in C++20) |
vergleicht zwei Verteilungsobjekte (function) |
| (C++11) |
führt Stream-Ein- und -Ausgabe auf Pseudo-Zufallszahlendistributionen durch (function template) |
[bearbeiten] Example
Führen Sie diesen Code aus
#include <iomanip> #include <iostream> #include <map> #include <random> #include <string> int main() { std::random_device rd; std::mt19937 gen(rd()); // give "true" 1/4 of the time // give "false" 3/4 of the time 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 ****
[bearbeiten] External links
| Weisstein, Eric W. "Bernoulli Distribution." From MathWorld — A Wolfram Web Resource. |