一、功能

产生正态分布\(N(\mu, \ \sigma^2)\)。

二、方法简介

正态分布的概率密度函数为

\[f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-(x-\mu)^{2}/2\sigma^{2}}

\]

通常用\(N(\mu, \ \sigma^2)\)表示。式中\(\mu\)是均值,\(\sigma^2\)是方差。正态分布也称为高斯分布。

设\(r_{1}, \ r_{2}, \ ..., \ r_{n}\)为(0,1)上\(n\)个相互独立的均匀分布的随机数,由于\(E(r_{i})=\frac{1}{2}\),\(D(r_{i})=\frac{1}{12}\),根据中心极限定理可知,当\(n\)充分大时

\[x=\sqrt{\frac{12}{n}}\left ( \sum_{n}^{i=1}r_{i}-\frac{n}{2} \right )

\]

的分布近似正态分布\(N(0, \ 1)\)。通常取\(n=12\),此时有

\[x=\sum_{12}^{i=1}r_{i}-6

\]

最后,再通过变换\(y=\mu+\sigma x\),便可得到均值\(\mu\)、方差为\(\sigma^2\)的正态分布随机数\(y\)。

三、使用说明

使用C语言编程生成正态分布函数\(N(0, \ 1)\)

/************************************

a---给定区间下限

b---给定区间上限

seed---随机数种子

************************************/

#include "uniform.c"

double gauss(double mean, double sigma, long int *s)

{

int i;

double x;

double y;

for(x = 0, i = 0; i < 12; i++){

x += uniform(0.0, 1.0, s);

}

x = x - 6.0;

y = mean + x * sigma;

return(y);

}

uniform.c文件参见均匀分布的随机数

java正态分布随机数_正态分布的随机数相关推荐

  1. python画成绩正态分布图_正态分布为何如此重要?

    在机器学习的世界中,以概率分布为核心的研究大都聚焦于正态分布.本文将阐述正态分布的概率,并解释它的应用为何如此的广泛,尤其是在数据科学和机器学习领域,它几乎无处不在. 我将会从基础概念出发,解释有关正 ...

  2. java高斯分布随机数_生成符合高斯分布或者其他任意分布的随机数

    在一些情况下经常需要用到随机数,而高斯随机数又是最常用到的.这一篇讲一下如何编程生成符合正态分布的高斯随机数,甚至任何其他分布的随机数. 我们知道C语言的标准库函数可以生成符合均匀分布的伪随机数.那么 ...

  3. java高斯分布_正态分布 - donnie's life - BlogJava

    正态分布(normal distribution) [编辑] 什么是正态分布 正态分布是一种概率分布.正态分布是具有两个参数μ和σ2的连续型随机变量的分布,第一参数μ是遵从正态分布的随机变量的均值,第 ...

  4. 蒙特卡洛方法生成随机数_随机股票生成器—财务方面的蒙特卡洛模拟

    蒙特卡洛方法生成随机数 金融, 机器学习 (Finance, Machine Learning) In this article, I will focus on how to create a pr ...

  5. java 随机数生成实现_Java中生成随机数的实现方法总结

    搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...

  6. java随机数转换_Java获取随机数的3种方法(转)

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

  7. Java实现获取long类型的随机数

    Java实现获取long类型的随机数 获取随机4位随机long Random rd=new Random(); for (int i=1;i<100;i++){//方式一long l1=(int ...

  8. java怎么取随机数_java怎么产生随机数

    随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 需要借助java.util.Random类来产生一个随机数发生器,也是 ...

  9. Java生成随机数原理_Java中随机数的产生方式与原理详解

    Java中随机数的产生方式与原理 查阅随机数相关资料,特做整理 首先说一下java中产生随机数的几种方式 在j2se中我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0- ...

最新文章

  1. 揭秘:美国国防部用什么样的操作系统
  2. Re:CMM和RUP、XP的关系是什么?
  3. 计算页数_中级会计师计算题、综合题的审题注意事项与解题思路
  4. hibernate持久化对象
  5. 计算领域的致敬与前行
  6. DDNS-动态域名解析服务
  7. nginx与IIS服务器搭建集群实现负载均衡(一)
  8. 对外汉语语料库有哪些_史上最全最新的语料库资源大全【对外汉语教学研究工具】...
  9. 14种DLL注入技术
  10. AC控制器和无线路由器的区别
  11. 花一个星期时间呕心沥血整理出高频软件测试/自动化测试面试题和答案
  12. 天数计算(某日(时间戳)到今天的天数、两个日期相差的天数)
  13. ubuntu emacs ess R
  14. 博客专家 - 2022贡献榜与TOP100光荣榜【转】
  15. 手机界面显示正常,点击输入框就放大,怎么破?看这里!
  16. 微信内嵌H5网页 解决js倒计时失效
  17. 华为:交付服务体系怎么提升一线作业人员的工作体验?
  18. 客户贷款逾期预测[7] - 模型融合
  19. thinkpad x12018换固态_【求助】ThinkPad X1Carbon 更换ssd - 笔记本电脑(Notebook)版 - 北大未名BBS...
  20. Gensim官方介绍翻译

热门文章

  1. 基于Rsyslog的日志文件采集办法
  2. 将https安全证书导入jdk中
  3. “代理服务器出现问题,或者地址有误”解决方案
  4. 联想服务器重装系统u盘启动不了怎么办,联想thinkpad无法进入u盘启动怎么办?
  5. android 很多牛叉布局github地址(转)
  6. 2014款macbookpro 15-inch 升级硬盘
  7. MetaMask钱包登录Ganache-cli内的账户,出现无法获取链 IC,您的 RPC URL 地址是正确的么?问题
  8. ‘class QFontMetrics‘ has no member named ‘horizontalAdvance‘
  9. IOS版aplayer使用教程_[按键精灵手机版教程]安卓3.0按键使用教程
  10. 店铺logo设计免费在线生成