当前位置: 首页 > news >正文

C++ std::default_random_engine的使用

        使用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)

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

http://www.lryc.cn/news/160828.html

相关文章:

  • 软件设计模式(二):工厂、门面、调停者和装饰器模式
  • pdf文件签名的问题解决
  • Node.js安装使用
  • sql:SQL优化知识点记录(七)
  • 机器学习:基于梯度下降算法的线性拟合实现和原理解析
  • 关键点数据增强
  • 最小化安装移动云大云操作系统--BCLinux-for-Euler-22.10-everything-x86_64-230316版
  • 003传统图机器学习、图特征工程
  • Apache Tomcat 漏洞复现
  • Oracle-常用权限-完整版
  • jenkins 发布job切换不同的jdk版本/ maven版本
  • 如何在小程序中给会员设置备注
  • PaddleOCR学习笔记2-初步识别服务
  • 【Opencv】Pyhton 播放上一帧,下一帧,存video,逐帧分析
  • 【关于Java:认识异常】
  • 【C++ • STL • 力扣】详解string相关OJ
  • 【Tomcat服务部署及优化】
  • C++之红黑树
  • Go语言网络编程(socket编程)TCP
  • C语言——局部和全局变量
  • 【Java基础篇 | 类和对象】--- 聊聊什么是内部类
  • 合宙Air724UG LuatOS-Air LVGL API控件-页面 (Page)
  • mongodb数据库操作
  • 第 2 章 线性表 ( 双链循环线性表(链式存储结构)实现)
  • redis在日常开发工作中的常见用法
  • 小程序实现下拉刷新
  • Day 36 贪心算法 part05 : 435. 无重叠区间 763.划分字母区间 56. 合并区间
  • 使用Python将网页数据保存到NoSQL数据库的方法和示例
  • 两个路由器如何连接设置的方法攻略
  • 分类任务评价指标