Przejdź do treści

uniform distribution

Generator liczb pseudolosowych (cz.1)

  • przez

Chcemy uzyskać generator o rozkładzie normalnym oraz Cauchy’ego… Na początek jednak jako podstawa potrzebny nam będzie generator o rozkładzie równomiernym.

Zdefiniujmy sobie klasę RandomNumberGenerator:

class RandomNumberGenerator {

    private:

        double a,b,c;
        static RandomNumberGenerator* instance;

    protected:

        RandomNumberGenerator();

    public:

        static RandomNumberGenerator* getInstance();
        void init();

        double getFromUniformDistribution();
        double getFromNormalDistribution();
        double getFromCauchyDistribution();
};

Klasa jak widać będzie miała trzy metody do pobierania losowych wartości z różnych rozkładów. Zaimplementujmy pierwszy rozkład, używając do tego celu tzw. ogólnego generatora liniowego. Generator ten realizuje schemat liniowy:

Czytaj dalej »Generator liczb pseudolosowych (cz.1)