EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Interface Units / InterfaceUnit-Random
In diesem Thema
    InterfaceUnit-Random
    In diesem Thema

    InterfaceUnit - Random

    Die EbsScript-Unit @Random enthält Funktionen zum Erzeugen diverser Zufallsverteilungen, u.a.

     

    Name

    Zweck

    Arguments

    Return value

    Example

    rndUniformIntegerDistribution

    Funktion erzeugt eine uniform verteilte Integer Zufallszahl im Bereich [minimum, maximum]

    1: INTEGER: minimum
    2: INTEGER: maximum
     

    INTEGER:

     

    rndUniformRealDistribution

     

     

    Funktion erzeugt eine uniform verteilte Real Zufallszahl im Bereich [minimum, maximum]

    1: REAL: minimum
    2: REAL: maximum

    REAL:

    rndNormalDistribution

     

     

    Funktion erzeugt eine Normalverteilte Real Zufallszahl mit Mittelwert mean und Standardabweichung stddef

    1: REAL: mean
    2: REAL: stddev

     

    REAL:

     Die Funktionen orientieren sich an den entsprechenden C++ Klassen (siehe http://en.cppreference.com/w/cpp/numeric/random ) und verwenden alle einen 64-Bit Mersenne Twister Algorithmus (mt19937_64 von Matsumoto und Nishimura, 2000) als Generator.

    Die komplette Liste umfasst:

    Uniform distributions:
    function rndUniformIntegerDistribution(minimum:integer = 0; maximum:integer = 2147483647):integer; internal;
    function rndUniformRealDistribution(minimum:real = 0; maximum:real = 1):real; internal;

    Bernoulli distributions:
    function rndBernoulliDistribution(p_true:real = 0.5):Boolean; internal;
    function rndBinomialDistribution(trials:integer = 1; p_true:real = 0.5):integer; internal;
    function rndnegativeBinomialDistribution(fail_trials:integer = 1; p_true:real = 0.5):integer; internal;
    function rndGeometricDistribution(p_true:real = 0.5):integer; internal;

    Poisson distributions:
    function rndPoissonDistribution(mean:real = 1.0):integer; internal;
    function rndExponentialDistribution(lambda:real = 1.0):real; internal;
    function rndGammaDistribution(alpha:real = 1.0; beta:real = 1.0):real; internal;
    function rndWeibullDistribution(a:real = 1.0; b:real = 1.0):real; internal;
    function rndExtremeValueDistribution(a:real = 0.0; b:real = 1.0):real; internal;


    Normal distributions:
    function rndNormalDistribution(mean:real = 0.0; stddev:real = 1.0):real; internal;
    function rndLognormalDistribution(m:real = 0.0; shape:real = 1.0):real; internal;
    function rndChiSquaredDistribution(n:real = 1.0):real; internal;
    function rndCauchyDistribution(a:real = 0.0; b:real = 1.0):real; internal;
    function rndFisherFDistribution(m:real = 1.0; n:real = 1.0):real; internal;
    function rndStudentTDistribution(n:real = 1.0):real; internal;