EBSILON®Professional Online Documentation
EbsScript 脚本 / 接口单元 / 随机
本主题中
    随机
    本主题中

    接口单元 - 随机

    EbsScript 单元 @Random 包含生成各种随机分布的函数,其中包括

     

    名称

    目的

    参数

    返回值

    例子

    rndUniformIntegerDistribution

    函数在 [最小,最大] 范围内生成一个均匀分布的 integer 随机数

    1: INTEGER: 最小
    2: INTEGER: 最大
     

    INTEGER:

     

    rndUniformRealDistribution

     

     

    函数在 [最小,最大] 范围内生成一个均匀分布的 real 随机数

    1: REAL: 最小
    2: REAL: 最大

    REAL:

    rndNormalDistribution

     

     

    函数生成一个正态分布的实数(real),其值为平均值,标准偏差为 stddef

    1: REAL: 平均值
    2: REAL: stddev(标准偏差)

     

    REAL:

    这些函数基于相应的 C++ 类(见 http://en.cppreference.com/w/cpp/numeric/random),都使用 64 位的 Mersenne Twister 算法(Matsumoto 和 Nishimura 的 mt19937_64,2000 年)作为发生器。

    完整的清单包括:

    均匀分布:
    函数 rndUniformIntegerDistribution(minimum:integer = 0; maximum:integer = 2147483647):integer; internal;
    函数 rndUniformRealDistribution(minimum:real = 0; maximum:real = 1):real; internal;

    Bernoulli(伯努利)分布:
    函数 rndBernoulliDistribution(p_true:real = 0.5):Boolean; internal;
    函数 rndBinomialDistribution(trials:integer = 1; p_true:real = 0.5):integer; internal;
    函数 rndnegativeBinomialDistribution(fail_trials:integer = 1; p_true:real = 0.5):integer; internal;
    函数 rndGeometricDistribution(p_true:real = 0.5):integer; internal;

    Poisson(泊松)分布:
    函数 rndPoissonDistribution(mean:real = 1.0):integer; internal;
    函数 rndExponentialDistribution(lambda:real = 1.0):real; internal;
    函数 rndGammaDistribution(alpha:real = 1.0; beta:real = 1.0):real; internal;
    函数 rndWeibullDistribution(a:real = 1.0; b:real = 1.0):real; internal;
    函数 rndExtremeValueDistribution(a:real = 0.0; b:real = 1.0):real; internal;


    正态分布:
    函数 rndNormalDistribution(mean:real = 0.0; stddev:real = 1.0):real; internal;
    函数 rndLognormalDistribution(m:real = 0.0; shape:real = 1.0):real; internal;
    函数 rndChiSquaredDistribution(n:real = 1.0):real; internal;
    函数 rndCauchyDistribution(a:real = 0.0; b:real = 1.0):real; internal;
    函数 rndFisherFDistribution(m:real = 1.0; n:real = 1.0):real; internal;
    函数 rndStudentTDistribution(n:real = 1.0):real; internal;