0
点赞
收藏
分享

微信扫一扫

文件操作(c/c++)

素的盐 2023-09-10 阅读 51

        使用std::default_random_engine可生成不同分布的随机数,下面使用实例来说明其使用。

随机生成0-1间的实数

//利用当前时间生成的种子,可保证每次生成的值都不一样
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator(seed);
std::uniform_real_distribution<double> distribute(0.0, 1.0);//不包含1.0
double v = distribute(generator);//得到0-1间的数值

随机生成min-max间的正整数

//利用当前时间生成的种子,可保证每次生成的值都不一样
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator(seed);
int min = 0,max = 100;
std::uniform_int_distribution<int> distribute(min, max);//包含max
int v = distribute(generator);

随机生成正态分布值

正态分布的均值为10,标准差为10:

unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator (seed);
std::normal_distribution<double> distribution(10,10);
double v = distribution(generator)

此外还可生成伯努利分布,泊松分布等分布的随机值

举报

相关推荐

C++——文件操作

C++ 文件操作

c++文件操作

【c++】文件操作

C++文件操作

C/C++/Windows/Linux文件操作

C++系列-文件操作

0 条评论