java生成一组正态分布的数据
时间: 2023-05-27 19:01:49 浏览: 70
可以使用Java的Random和Math库来生成一组正态分布的数据。具体的代码如下:
```
import java.util.Random;
public class NormalDistribution {
public static void main(String[] args) {
//设置均值和标准差
double mean = 0;
double stdDev = 1;
//设置生成数据的数量
int n = 1000;
//创建Random对象
Random r = new Random();
//生成n个符合正态分布的数据
for (int i = 0; i < n; i++) {
//使用Box-Muller算法生成正态分布的随机数
double x = r.nextGaussian() * stdDev + mean;
//打印生成的随机数
System.out.println(x);
}
}
}
```
在这段代码中,我们先设置了正态分布的均值和标准差,然后使用Random对象的nextGaussian方法生成符合正态分布的随机数。最后,将随机数打印出来即可。
相关问题
java实现生成正态分布数据(附完整源码)
以下是Java实现生成正态分布数据的代码:
```java
import java.util.Random;
public class NormalDistribution {
private double mean;
private double stdDev;
private Random rand;
public NormalDistribution(double mean, double stdDev) {
this.mean = mean;
this.stdDev = stdDev;
this.rand = new Random();
}
public double generate() {
double u1 = rand.nextDouble();
double u2 = rand.nextDouble();
double z = Math.sqrt(-2.0 * Math.log(u1)) * Math.cos(2.0 * Math.PI * u2);
return mean + stdDev * z;
}
public static void main(String[] args) {
NormalDistribution nd = new NormalDistribution(0, 1);
for (int i = 0; i < 10; i++) {
System.out.println(nd.generate());
}
}
}
```
代码中,我们定义了一个NormalDistribution类,用来生成正态分布数据。构造函数需要传入期望值和标准差,同时初始化一个Random对象。generate方法则是根据正态分布的公式生成随机数,返回值为生成的随机数。
在main方法中,我们实例化了一个NormalDistribution对象,并且生成了10个随机数进行输出。
需要注意的是,生成的随机数是有可能超出期望值加减标准差的范围的,因此需要根据实际需求进行修正。
python生成正态分布数据
可以使用Python中的NumPy库来生成正态分布数据,具体步骤如下:
1.导入NumPy库
import numpy as np
2.设置正态分布的均值和标准差
mu, sigma = 0, 0.1
3.生成正态分布数据
data = np.random.normal(mu, sigma, 1000)
其中,np.random.normal()函数用于生成正态分布数据,参数mu为均值,sigma为标准差,1000为生成数据的数量。
4.可视化数据
可以使用Matplotlib库将生成的数据可视化。
import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(data, 30, density=True)
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
linewidth=2, color='r')
plt.show()
其中,plt.hist()函数用于绘制直方图,30为直方图的柱数,density=True表示将直方图归一化。plt.plot()函数用于绘制正态分布曲线。最后使用plt.show()函数显示图像。
生成的正态分布数据和图像如下所示:
![正态分布数据.png](https://i.loli.net/2021/08/11/6OvIek8WlDmKaiV.png)
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)