多数编程语言只提供一个生成[0,1] 区间上的均匀分布数组的函数。本人的目的在于介绍如何生成一个正态分布的随机数组

参考文献[1]指出了利用均匀分布生成正态分布的方法,即中心极限定理之独立同分布。

设随机变量相互独立,服从[0,1]区间上的均匀分布。则随机变量

当n足够大时,新的随机变量Y 满足标准正态分布。

但实际上,标准正态分布不一定能满足要求,也许需要的是满足正态分布(a,b)的随机数组。

这时就应该进行一些必要的运算。

对于均值,只需要对最终结果进行相加或者相减

对于方差的变换可以简单的将结果乘上一个系数

由正态分布的定义出发,可以证明若 

已知随机变量X  服从参数为的正态分布,则随机变量X 概率密度函数为

令 ,则有

接下来,我们通过C++实现这一过程

//该程序用于实现生成一组正态分布的随机数
//作者cclplus 我的邮箱是maxwell970710@gmail.com 如有问题可以发送到我的邮箱,我会尽可能为您解答
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
double rand_normal(double r_me, double sd);//返回一个方差为r_me,标准差为sd的随机数
int main(){double ans;double r_mean, r_sd;int n;cout << "请依次输入所需要正态分布随机数的均值和标准差" << endl;cin >> r_mean >> r_sd;cout << "请输入需要随机数的个数" << endl;cin >> n;for (int i = 0; i < n; i++) {ans = rand_normal(r_mean, r_sd);cout << "随机数:" << ans << endl;}return 0;
}
double rand_normal(double r_me, double sd) {int  i;const int normal_count = 360;//样本数目采用360个double ccl_num, ccl_s;double ccl_ar[normal_count];ccl_num = 0;for (i = 0; i < normal_count; i++) {ccl_ar[i] =rand() % 1000/ (double)999;//生成一个[0,1]的均匀分布ccl_num += ccl_ar[i];}ccl_num -= ((double)normal_count*0.5);//减去0-1均匀分布的均值ccl_s = 1.0*(double)normal_count / 12.0;//0-1分布的方差为1/12ccl_s = sqrt(ccl_s);ccl_num /= ccl_s;//此时ccl_num接近标准正态分布的一个子集ccl_num *= sd;ccl_num += r_me;return ccl_num;
}

【参考文献】

[1]王桂松,张忠占,程维虎等 概率论与数理统计.[M]2014 110-110 140-141

利用独立同分布的中心极限定理生成正态分布的随机数相关推荐

  1. 【定量分析、量化金融与统计学】统计推断基础(2)---样本均值分布、中心极限定理、正态分布

    目录 一.前言 二.样本均值分布 三.中心极限定理 *****中心极限定理 ***大数定理与中心极限定理有什么区别? 四.正态(概率)分布 一.前言 我发现很多人学了很久的统计学,很多总是概念混淆,那 ...

  2. 独立同分布的中心极限定理

    两个中心极限定理,摘自概率论与数理统计(第二版) 客观世界中的事物都不是孤立的,而是相互联系的.一个随机变量往往是众多相互独立的随机因素共同作用的综合结果. 在无穷级数的学习中,有时候有限项的和很难计 ...

  3. wps生成正态分布的随机数_量子计算与机器学习: 量子生成对抗网络QGAN

    随着量子信息和量子计算的快速发展(经费多了),科研工作者们一边感叹着量子计算机时代即将拥有的强大计算能力,一边又在考虑着如何将现有的高效算法和量子计算机相适配.作为最近几年如此火爆的机器学习,也就自然 ...

  4. wps生成正态分布的随机数_WPS中用excel做正态分析.doc

    WPS中用excel做正态分析WPS中用excel做正态分析.doc 数据录入 新建excel文档,录入待分析数据(本例中将数据录入A列,则在后面引用中所有的数据记为A:A);计算"最大值& ...

  5. 中心极限与大数定理律的关系_深入浅出正态分布,大数定律,中心极限定理

    之前看概率论的书,谈到正态分布的第一个反应就是那个看起来很随便的突起的曲线,以及现实生活中好像有很多东西都符合正态分布,除此之外就再没有别的理解了,直到最近看书才慢慢体会到了概率中藏着的很多秘密. 封 ...

  6. 离散ziggurat算法python实现_花式生成正态分布

    ◆◆ ◆ 前言 "So much of life, it seems to me, is determined by pure randomness." – Sidney Poit ...

  7. 5.2 中心极限定理

    学习目标: 要学习中心极限定理,我会采取以下几个步骤: 学习基本概念:了解什么是随机变量.样本.总体.概率密度函数等基本概念,为学习中心极限定理打下基础: 学习正态分布:中心极限定理的核心是正态分布, ...

  8. 中心极限定理+拉普拉斯定理+大数定理+切比雪夫不等式

    2018.08.19更新 1.中心极限定理:大量独立随机变量的和经过适当标准化后趋近于正态分布,这与变量的原分布无关,有独立同分布的中心极限定理和独立不同分布的中心极限定理 2.独立同分布的中心极限定 ...

  9. 概率论:中心极限定理、马尔科夫不等式、切比雪夫不等式、大数定理

    一.中心极限定理 1.1 独立同分布的中心极限定理 1.1.1 定理 设X1,X2,...,Xn为相互独立.服从同一分布的随机变量序列,且E(Xi)=μ,D(Xi)=σ2≠0(i=1,2,...n), ...

最新文章

  1. Sisyphus.js的使用
  2. Linux内核分析--内核中的数据结构双向链表续【转】
  3. 现在抖音这么火,那么你知道如何用CSS实现抖音字体?
  4. CentOS7下分布式文件系统FastDFS的安装 配置 (单节点)
  5. 金山网盾3.5实战流氓软件
  6. Python基于seaborn绘制喜欢的热力图,不同色系一览
  7. 邵国际: C 语言对象化设计实例 —— 命令解析器
  8. 【气动学】基于matlab导弹拦截计算方法【含Matlab源码 982期】
  9. VC2015运行库安装失败
  10. ad软件画pcb方法总结_PCB各层介绍及AD软件画PCB时的规则
  11. 【配置管理】配置审核-物理配置审核-功能配置审核-配置管理审核
  12. 通达信 python_python 适用通达信
  13. vbr,cbr,abr区别
  14. 分享Canvas画横断面图的vue源码
  15. 5-8 哈利·波特的考试 (25分)
  16. C++ bit field 位域/位段
  17. idea如何设置导包不带*号
  18. 马云爸爸成立快一年的达摩院,究竟在做什么?
  19. 云管平台 | 云成本分析优化管理
  20. 动物识图UI_demo

热门文章

  1. 修复键盘单个键位失灵
  2. 史玉柱经典语录(转)
  3. everything插件的安装
  4. win7下虚拟WIFI
  5. AMQP-0-9-1中文规范
  6. 关于机械硬盘的两个重要知识点!!!
  7. thinkpad t400,t500 bios设置需要断电后才会生效
  8. 微软明年关闭诺基亚功能手机应用商店
  9. day54 css页面布局
  10. barryvdh/laravel-debugbar 安装后未显示