2017-07-05 5 views
-1

Hallo Ich habe eine Simulation ich runnning bin, in der ich Zufallszahl aus einem einheitlichen und Normalverteilungen leicht zu bekommen:erstellen Zufallszahl aus einem Poisson dist. mit Mersenne-Twister

#include <iostream> 
#include "MersenneTwister.h" 
using namespace std; 
int main() 
{ 
    MTRand mtrand1; 
    double r1,r2; 
    r1 = mtrand.rand(); // from a uninform dist. 
    r2 = mtrand1.randNorm(); //from a normal dist. 
} 

Ich mag diesen Zufallszahlengenerator verwenden, um eine Zufallszahl von a zu erhalten Poissonverteilung mit mittlerem "A".

Haben Sie eine Idee, wie Sie dieses Verfahren mit dem MersseneTwister-Code implementieren? der Code kann hier gefunden werden: https://gcc.gnu.org/bugzilla/attachment.cgi?id=11960. und es ist weit verbreitet.

+0

Sie wissen, dass diese alle in "zufällig" sind? –

+0

Wenn Sie das Paket verwenden, müssen Sie es nicht verwenden. Wenn nicht, bitte erläutern Sie Ihren Kommentar. – jarhead

+0

Was meinst du, es gibt "keine Notwendigkeit"? Die Funktionalität ist schon da. Und ja, ich meine die Standardbibliothek –

Antwort

1

können Sie die Standard-Bibliothek

#include<random> 

double mean = 3.1415926; 
std::mt19937 mt{std::random_device{}()}; 
std::poisson_distribution<> pd{mean}; 

auto n = pd(mt); // get a number 

, dass Impfen Verwenden beachten Sie mit std::random_deviceunlikely to be satisfactory ist.

Verwandte Themen