Wie bekomme ich Gaußverteilte Zufallszahlen??
-
Tach Leute,
ich brauche irgendwie gaußverteilte Zufallszahlen aus rand().
Wie kann ich sowas machen.
Mein Problem:ich habe nee zahl x und da soll eine gaußverteilte (wichtig ist hier Sigma) Zufallszahl aufaddiert werden.
Wie geht datt denn!!??!!
Bis denn;
-
Und gaußverteilte Zufallszahlen sind ein rein C++-spezifisches Problem? Du suchst nicht rein zufällig einen allgemeinen Algorithmus?
-
mir prinzipiell egal. Hauptsache ich bekomme am Ende meine gaußverteilten Zahlen.
-
Mit Monte Carlo unter die Glocke schiessen? Müsste doch gehen!
Bye, TGGC (Wähle deine Helden)
-
Bitte wen soll ich erschiessen?! Ist das in c++ echt so schwer nee relativ gebräuchliche Verteilungsart hinzukriegen, bzw. Zufallszahlen zu erzeugen.
-
FrankyBoy schrieb:
Bitte wen soll ich erschiessen?! Ist das in c++ echt so schwer nee relativ gebräuchliche Verteilungsart hinzukriegen, bzw. Zufallszahlen zu erzeugen.
Nein.
Man muss nur lesen können und www.google.de kennen. Und dann noch ein kleines bischen c++.
-
ich google mir nen Wolf, aber gute Ansätze habe ich noch nicht gesehen.
-
FrankyBoy schrieb:
Bitte wen soll ich erschiessen?
Dich?
Schiessen flapsig für: Punkt im R2 wählen.
Bye, TGGC (Wähle deine Helden)
-
@FrankyBoy: Lass dich nicht von unseren Forentrollen anflamen. Aber wie sooft bringen sie ein kleines Kügelchen Wahrheit mit sich. Auf diese Frage wurde schon des Öfteren (zT auch sehr detailliert) eingegangen. Ich muss jetzt leider zugeben über den derzeitigen Status Quo der Suchfunktion nicht Bescheid zu wissen - aber hast du danach bereits gesucht? Such vor allem in den Foren C++ und Rund um die Programmierung.
MfG SideWinder
-
-
-
Die reine Verzweiflung! Sorry :p
-
Danke für Eure Geduld. Habe das so gemacht:
#include <iostream> #include <math.h> #define PI 3.141592653552359 using namespace std; int main(void) { srand((unsigned int)time(NULL)); double Erwartungswert = 1000; double Sigma = 200000; double X1 = (double)rand()/(double)RAND_MAX; double X2 = (double)rand()/(double)RAND_MAX; double N1 = sqrt(-2*log(1-X2)) * cos(2*PI*X1); double N2 = sqrt(-2*log(1-X2)) * sin(2*PI*X1); double Z1 = N1 * sqrt(Sigma) + Erwartungswert; double Z2 = N2 * sqrt(Sigma) + Erwartungswert; cout<<"Z1 : "<<Z1<<endl; cout<<"Z2 : "<<Z2<<endl; cout<<endl; return 0; }
Hoffe das stimmt so; kommen auf jedenfall irgendwelche Zahlen raus, die zufällig aussehen.
Danke an alle und konstruktive Kritik kann einem Anfänger nicht schaden.
Bis denn;
-
afair biete boost auch ne Möglichkeit solche Zufallszahlen zu generieren.