概述
正态分布又叫钟形曲线,下面是java的实现方法:
第一:如何实现正态分布
实现代码也可以自己写不过比较麻烦,我这里是参考的网上的引入commons-math3的方式,实现起来很简单。
1、pom添加commons-math3的依赖
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6</version>
</dependency>
2、代码实现
import org.apache.commons.math3.distribution.NormalDistribution;
//1、构建正态分布
Double y=0.0; //期望值,标准正态分布y=0
Double z=1.0; //方差,标准正态分布z=1
NormalDistribution normalDistributioin = new NormalDistribution(y,z);
//2、根据x获取函数值增长速度即正态分布曲线值
double speed = normalDistributioin.density(x);
System.out.println(speed);
//3、根据x获取累计面积值即正态分布值
double area = normalDistributioin.cumulativeProbability(x);
System.out.println(area);
第二:获取符合正态分布的随机数
Java Random中 封装有获取正态分布的方法nextGaussian:
import java.util.Random;
Random random = new Random();
// 标准正态分布随机数
Double getNum = random.nextGaussian();
// 期望值y,方差z的正态分布随机数(取值与真正的正态分布有极细小的差别,但大致符合)
Double getNum2 = Math.sqrt(z) * random.nextGaussian() + y;
System.out.println(getNum);
System.out.println(getNum2);
最后
以上就是坦率鼠标为你收集整理的java实现正态分布(钟形曲线)的全部内容,希望文章能够帮你解决java实现正态分布(钟形曲线)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复