C ++: Gaußsche Verteilung erzeugen

8

Ich würde gerne wissen, ob es in C ++ - Standardbibliotheken einen Gauß'schen Verteilungsgenerator gibt oder ob Sie ein Code-Snippet übergeben müssen.

Vielen Dank im Voraus.

    
puccio 10.07.2009, 13:14
quelle

4 Antworten

15

Die Standardbibliothek nicht. Boost.Random tut es jedoch. Ich würde das benutzen, wenn ich du wäre.

    
jalf 10.07.2009, 13:15
quelle
13

C ++ Technical Report 1 unterstützt die Generierung von Zufallszahlen. Wenn Sie also einen relativ neuen Compiler verwenden (visual c ++ 2008 GCC 4.3), besteht die Möglichkeit, dass dieser sofort verfügbar ist.

Siehe hier für die Beispielnutzung von std::tr1::normal_distribution (und viele mehr).

    
user111095 10.07.2009 14:45
quelle
6

Die GNU Scientific Libraries haben diese Funktion. GSL - Gaussian Distribution

    
Matt Price 10.07.2009 13:23
quelle
4

Die Antwort auf diese Frage ändert sich mit C ++ 11, das die zufällige Kopfzeile enthält, die std :: normal_distribution . Walter Browns Papier N3551, Zufallszahlenerzeugung in C ++ 11 ist wahrscheinlich einer der bessere Einführungen in diese Bibliothek.

Der folgende Code demonstriert, wie dieser Header verwendet wird ( live sehen ):

%Vor%

In meiner Antwort auf zufällige C ++ - Gleitkommazahlgenerierung mit einem Beispiel in Boost und mit rand() .

    
Shafik Yaghmour 09.10.2014 20:43
quelle