栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java实现正态分布(钟形曲线)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java实现正态分布(钟形曲线)

正态分布又叫钟形曲线,下面是java的实现方法:

第一:如何实现正态分布

实现代码也可以自己写不过比较麻烦,我这里是参考的网上的引入commons-math3的方式,实现起来很简单。

1、pom添加commons-math3的依赖



    org.apache.commons
    commons-math3
    3.6

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);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号