C++ 参考手册

位置:首页 > C++ 参考手册 >数值库 >伪随机数生成 > std::extreme_value_distribution

定义于头文件 <random>
template< class RealType = double >
class extreme_value_distribution;
(C++11 起)

生成服从极值分布(又称为耿贝尔 I 型、对数威布尔、费舍尔蒂皮特 II 型)的随机数:

p(x;a,b) =
1
b
exp

a-x
b
- exp

a-x
b




std::extreme_value_distribution满足随机数分布 (RandomNumberDistribution) 的所有要求。

模板形参

RealType - 生成器所生成的结果类型。若它不是 floatdoublelong double 之一则效果未定义。


成员类型

 
成员类型 定义
result_type RealType
param_type 参数集的类型,见随机数分布 (RandomNumberDistribution)

成员函数

构造新分布
(公开成员函数)
重置分布的内部状态
(公开成员函数)
生成
生成分布中的下个随机数
(公开成员函数)
特征
返回分布参数
(公开成员函数)
获取或设置随机参数对象
(公开成员函数)
返回最小的潜在生成值
(公开成员函数)
返回最大的潜在生成值
(公开成员函数)

非成员函数

比较两个分布对象
(函数)
执行伪随机数分布的流输入和输出
(函数模板)

示例

#include<random>
#include<iostream>
#include<time.h>
 
int main()
{
    int seed = time(NULL);
    std::default_random_engine generator (seed);
    std::extreme_value_distribution<double> distribution (1.0, 2.0);
    for(int i=0; i < 10; i++)
    {
	double number = distribution(generator);
	std::cout<<number<<std::endl;
    }
}

输出:

15.3311
-1.32387
1.81613
1.13959
0.989746
6.25838
0.530106
1.16165
3.6835
3.20567

外部链接

Weisstein, Eric W. “极值分布”来自 MathWorld--A Wolfram Web Resource 。