正态分布(Normal distribution)

正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution),

最早由A.棣莫弗在求二项分布的渐近公式中得到。

C.F.高斯在研究测量误差时从另一个角度导出了它。P.S.拉普拉斯和高斯研究了它的性质。

是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。

正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。

若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为X~N(μ,σ^2)。

其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。

JDK中Random类中的nextGaussian()方法,可以产生服从标准正态分布的随机数。即 X~N(0,1);

如果我们想产生自定义的正态分布呢 X~N(μ,b) b=σ^2;

可以用Math.sqrt(b)*random.nextGaussian() + μ;实现

这个公式的意思是

方差 * 正态分布数据 + 正态分布中心位置

产生N(a,b)的数:Math.sqrt(b)*random.nextGaussian()+a;

即均值为a,方差为b的随机数

方差是什么意思?

方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。

简单一句话就是:方差是衡量源数据和期望值相差的度量值。

具体代码实现:

    @Testpublic void test2() {Random r = new Random();for (int i = 0; i < 10000; i++) {double v = r.nextGaussian() * Math.sqrt(10) + 53;System.out.println(v);}}

生成的数据类似于上图

方差越大,正态分布底峰越大

    @Testpublic void test2() {Random r = new Random();for (int i = 0; i < 10000; i++) {int  v = (int)(r.nextGaussian() * 4000 + 20000);System.out.println(new StringBuilder(String.valueOf(v)).insert(2,"-"));}}

java中实现正态分布相关推荐

  1. Java中 9 种常见的 CMS GC 问题分析与解决

    目录 Java中 9 种常见的 CMS GC 问题分析与解决 1. GC 1.1 引言 1.2 概览 2. GC 基础 2.1 基础概念 2.2 JVM 内存划分 2.3 分配对象 2.4 收集对象 ...

  2. 美团技术总结:Java中9种常见的CMS GC问题分析与解决

    1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...

  3. 美团技术:Java中9种常见的CMS GC问题分析与解决

    目前,互联网上 Java 的 GC 资料要么是主要讲解理论,要么就是针对单一场景的 GC 问题进行了剖析,对整个体系总结的资料少之又少.前车之鉴,后事之师,美团的几位工程师历时一年多的时间,搜集了内部 ...

  4. java中instanceof的用法和实战

    https://blog.csdn.net/qq_37192800/article/details/78861387 https://www.cnblogs.com/zjxynq/p/5882756. ...

  5. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  6. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  7. java中hashcode_浅谈Java中的Hash值

    1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...

  8. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

  9. Java中的对象和包

    什么是对象 对象就是实际生活中的事物,可以说一切事物都是对象. 对象的三个特点 1  对象的行为:这个对象能做什么, 例如包子是用来吃的 2  对象的状态:对象保持的一种状态,例如这个包子是热的还是凉 ...

  10. java中标识符,关键字,数据类型

    什么是标识符? 在java语言中用来给一个类,变量或方法命名的符号 标识符的命名规则 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. ...

最新文章

  1. 基于现有工程解读stm32的工程文件
  2. 负载均衡器技术 Nginx VS F5 Big-IP
  3. 得到的概率值_论文推荐|屋面钢梁在超强意外雪荷载作用下的失效概率
  4. SD功能增强业务说明书
  5. java使用jeids实现redis2.6的list操作(4)
  6. python if elif else_Python3使用独立的if语句与使用if-elif-else结构的不同之处
  7. mysql innodb 全表锁,Mysql InnoDB行锁及表锁分享
  8. 排序算法—归并排序(思维导图思路整理)
  9. c字符串分割成数组_数组与字符串
  10. 【渝粤教育】电大中专新媒体营销实务 (14)作业 题库
  11. 使用awk进行文本处理
  12. Photoshop编辑GIF
  13. python编写一个函数把华氏温度转换成摄氏温度_编写一个函数把华氏温度转换成摄氏温度,温度转换公式为:c=(f-32)*5/9。在主函数中输入华氏温度值......
  14. CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp)
  15. 吐血整理:手拿几个大厂offer的秘密武器!(免费领取)
  16. 北京峰会系列二|基于SPDK的UDisk全栈优化
  17. import和export在浏览器中的使用方式
  18. HTML做表格以及注册界面
  19. Java实验报告(三)
  20. html/css 锚点链接

热门文章

  1. c语言输出字母空心菱形,C语言实现打印菱形和空心菱形
  2. goap git上的v sploreg/goap
  3. 关于浏览器播放视频的些许理解
  4. C-COT跟踪算法在OTB数据集上测试的接口函数
  5. 预告 | PGCon 2022(PostgreSQL全球开发者大会)开幕,IvorySQL受邀参加
  6. egg.js+vue前后端分离项目,后端如何使用set-Cookie为前端设置cookie
  7. html doc全称,html标签全称和功能介绍.doc
  8. 【java实现地图经纬度逆编码】通过使用百度/高德地图的开放平台 实现经纬度与中文地址的转换(附代码方法)
  9. nabcd分析解谜类rpg游戏
  10. 网站跳出率高解决方法