美文网首页
C++11 生成正态分布随机数

C++11 生成正态分布随机数

作者: 乘瓠散人 | 来源:发表于2019-01-16 14:12 被阅读23次

要生成服从标准正态分布的随机数,类似matlab中的randn函数。
C++11中引入了正态分布模板类std::normal_distribution,在头文件<random>中。

  • 每次运行程序生成相同的随机序列
#include <iostream>
#include <random>
using namespace std;

int main()
{
  std::default_random_engine gen;
  //int seed = 3; 也可以设置一个种子
  //std::default_random_engine gen(seed);
  std::normal_distribution<double> dis(0,1);

  std::cout << "some normal random numbers: \n";
  for (int i=0; i<5; ++i)
      std::cout << dis(gen) << " ";
  std::cout<<endl;
  for (int i=0; i<5; ++i)
      std::cout << dis(gen) << " ";
  std::cout << endl;

  return 0;
}
  • 每次运行程序产生不同的随机序列
#include <iostream>
#include <random>
#include <chrono>
using namespace std;

int main()
{
  // construct a random generator engine from a time-based seed
  unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  std::default_random_engine gen(seed);
  std::normal_distribution<double> dis(0,1);

  std::cout << "some normal random numbers: \n";
  for (int i=0; i<5; ++i)
      std::cout << dis(gen) << " ";
  std::cout<<endl;

  return 0;
}

参考:https://blog.csdn.net/fengbingchun/article/details/73770856

相关文章

  • C++11 生成正态分布随机数

    要生成服从标准正态分布的随机数,类似matlab中的randn函数。C++11中引入了正态分布模板类std::no...

  • Python numpy学习笔记之生成随机数

    废话不多说,直接开干。 生成均匀离散的随机数 生成服从均匀分布、3行2列的随机数 生成服从正态分布的随机数 经典例...

  • Matalb normrnd函数

    r=normrnd(mu,sigma)使用平均参数mu和标准差参数从正态分布生成随机数sigma。 如 >> r ...

  • 非线性拟合

    非线性拟合 先画图,再观测以提供a和b的初始值 #根据均匀分布,正态分布生成随机数x <- seq(from=0,...

  • Erlang生成符合正态分布,截断正态分布随机数

    最近我们死策划来了个需求,要求产生的随机数符合正态分布。而且要截断正态分布。 查阅erlang文档。发现rand模...

  • numpy使用

    一 生成正态分布 np.random.normal(mean,scale,size)可以生成很多数值呈正态分布数字...

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • Golang生成随机数的方法总结

    生成区间随机数 生成指定区间随机数(包括纯数字/纯字母/随机)

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

网友评论

      本文标题:C++11 生成正态分布随机数

      本文链接:https://www.haomeiwen.com/subject/mzzpdqtx.html