随机数生成

C++标准库的随机数生成需要两个组件一个是随机数engine,另一个是随机分布。一般使用default_random_engine,一个基本例子如下

default_random_engine e;
normal_distribution<double> n(0, 1);

double r = n(e); //返回一个均值0,方差为1的正态随机数

常用分布如下

uniform_int_distribution<int> u(low, high)

uniformreal_distribution<double> u(low, high)

bernoulli_distribution b(p)

binomial_distribution<int> b(t, p)

geometric_distribution<int> g(p)

negative_binomial_distribution<int> nb(k, p)

possion_distribution<int> p(x)

exponential_distribution<double> e(lambda)

gamma_distribution<double> g(a, b)

weibull_distribution<double> w(a, b)

extreme_value_distribution<double> e(a, b)

normal_distribution<double> n(mean, var)

lognormal_distribution<doule> logn(mean, std)

chi_squared_distribution<double> c(x)

cauchy_distribution<double> c(a,b)

fisher_f_distribution<double> f(m, n)

student_t_distribution<double> s(n)

results matching ""

    No results matching ""