用java语言生成100个服从二维正态分布的随机数。
时间: 2024-12-06 07:21:28 浏览: 21
在Java中,我们可以使用`java.util.Random`类配合`org.apache.commons.math3.stat.distribution.NormalDistribution`来自Apache Commons Math库来生成二维正态分布的随机数。这里是一个简单的示例:
```java
import java.util.Random;
import org.apache.commons.math3.distribution.NormalDistribution;
public class Main {
public static void main(String[] args) {
Random random = new Random(); // 创建随机数生成器
NormalDistribution normalDist = new NormalDistribution(0, 1); // 设置均值和标准差,这里是(0, 1),代表正态分布
int n = 100; // 生成的点的数量
double[][] data = new double[n][2]; // 存储结果的二维数组
for (int i = 0; i < n; i++) {
// 每个元素由两个独立的正态分布变量组成
data[i][0] = normalDist.sample(random.nextDouble()); // 第一个维度的值
data[i][1] = normalDist.sample(random.nextDouble()); // 第二个维度的值
}
// 打印或进一步处理生成的数据
for (double[] row : data) {
System.out.println(Arrays.toString(row));
}
}
}
```
在这个例子中,我们首先创建了一个`NormalDistribution`对象,然后通过循环调用`sample()`方法来生成n对独立的二维正态分布随机数。每个数组元素都是一个双精度浮点数。
阅读全文