Zufallszahlen



  • Wikinger75 schrieb:

    Und gibt es auch eine c++ wariante von denen

    das sind bereits die c++-varianten.



  • häh?
    ich hab ja nix ggn fehlende interpunktion - so lang man den sinn noch verstehen kann sind mir auch tip- bzw rechtschreibefehler egal... aber du übertreibst ein wenig ^^

    falls ich dich richtig verstanden habe - da gibt es unter anderem das hier:

    http://www.cplusplus.com/reference/
    http://www.cppreference.com/wiki/

    bb



  • Wikinger75 schrieb:
    Und gibt es auch eine c++ wariante von denen

    das sind bereits die c++-varianten.

    Warum heit das dan cstdlib und nicht stdlib?

    häh?
    ich hab ja nix ggn fehlende interpunktion - so lang man den sinn noch verstehen kann sind mir auch tip- bzw rechtschreibefehler egal... aber du übertreibst ein wenig ^^

    falls ich dich richtig verstanden habe - da gibt es unter anderem das hier:

    http://www.cplusplus.com/reference/
    http://www.cppreference.com/wiki/

    bb

    Ich meinte eine Dokumentation zu den 2 Headern, damit ich weiß was für funktion etc. diese beinhalten^^
    Das was du gepostet hast sieht recht gut aus.



  • Wikinger75 schrieb:

    Wikinger75 schrieb:
    Und gibt es auch eine c++ wariante von denen

    das sind bereits die c++-varianten.

    Warum heit das dan cstdlib und nicht stdlib?

    vielleicht weil es ähnliche funktionen in C gibt.
    jedenfalls stehen diese headers im C++-Stan

    dart. also halte ich sie für c++.



  • Wikinger75 schrieb:

    Wikinger75 schrieb:
    Und gibt es auch eine c++ wariante von denen

    das sind bereits die c++-varianten.

    Warum heit das dan cstdlib und nicht stdlib?

    C-Header:
    time.h
    stdlib.h
    ...

    Passende C++-header:
    ctime
    cstdlib
    ...



  • unskilled schrieb:

    Bei einer Simulation sollten die Zahlen ja ein wenig zufällig sein aber auf jeden Fall reproduzierbar

    Das erreicht man, indem man seed immer mit dem gleichen Wert am Programmstart initialisiert. Dann hat man fuer gewoehnlich Zufallszahlen und wiederholbare Ergebnisse. Jedenfalls ist das die gaengige Praxis.



  • knivil schrieb:

    unskilled schrieb:

    Bei einer Simulation sollten die Zahlen ja ein wenig zufällig sein aber auf jeden Fall reproduzierbar

    Das erreicht man, indem man seed immer mit dem gleichen Wert am Programmstart initialisiert. Dann hat man fuer gewoehnlich Zufallszahlen und wiederholbare Ergebnisse. Jedenfalls ist das die gaengige Praxis.

    Ja - das ist mir durchaus bewusst - allerdings gibt es auch noch einen davon unabhängigen anderen Simulationszweig - wofür ich auch wieder Zufallszahlen brauche - und das wie gesagt: unabhängig davon. sonst würde mir der eine seed ja auch reichen ^^

    naja - boost4tw ;o)



  • @boost::random-user:

    Weiss jemand, warum man bei einer distribution z.B uniform_int die bounds nicht neu setzen kann?! - Zu implementieren wäre das ja trivial, aber möglich ist es nicht.. Ich habe dann halt ein Workaround gebraucht, dass mir von 0..1 die Bounds selbst berechnet, aber wirklich glücklich bin ich damit nicht..Oder übersehe ich da etwas?


  • Administrator

    drakon schrieb:

    Weiss jemand, warum man bei einer distribution z.B uniform_int die bounds nicht neu setzen kann?!

    Kann man doch. Naja vielleicht nicht ganz so offensichtlich, aber das folgende sollte doch wirklich reichen:

    boost::mt19937 engine;
    boost::uniform_int<> distribution(0, 10);
    
    boost::variate_generator
    <
    	boost::mt19937,
    	boost::uniform_int<>
    > generator(engine, distribution);
    
    std::cout << generator() << std::endl;
    
    // Verändern der Verteilung:
    generator.distribution()
    	= boost::uniform_int<>(2, 34);
    
    std::cout << generator() << std::endl;
    

    Grüssli



  • Naja.. Ich habe mehr so an eine Memberfunktion gedacht.. Wäre ja wirklich trivial. Die macht ja nix anderes, als das, was ich sonst auch mache.



  • unskilled schrieb:

    Ja - das ist mir durchaus bewusst - allerdings gibt es auch noch einen davon unabhängigen anderen Simulationszweig - wofür ich auch wieder Zufallszahlen brauche - und das wie gesagt: unabhängig davon. sonst würde mir der eine seed ja auch reichen ^^

    Dann lass diesen Simulationszweig in einem anderen Prozess laufen. Du kannst dir auch einen eigenen als Objekt basteln. In Numerical Recipes etc. sind die Implementierungen detailiert beschrieben. Der eine benutzt dann nur A.rand() und der andere B.rand().


Anmelden zum Antworten