编写一个程序RandomGuassian,用于显示一个服从高斯分布的随机数 。实现这一功能的一种有效方法是使用Box-Muller公式: 其中$u$和$v$是由Math.random()方法随机生成的0到1之间的实数。java语言
时间: 2023-04-09 07:00:58 浏览: 93
可以使用以下代码实现RandomGuassian程序:
```
import java.util.Random;
public class RandomGuassian {
public static void main(String[] args) {
double mean = 0; // 均值
double stdDev = 1; // 标准差
Random rand = new Random();
double u = rand.nextDouble();
double v = rand.nextDouble();
double x = Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v);
double y = stdDev * x + mean;
System.out.println(y);
}
}
```
该程序使用Java中的Random类生成两个0到1之间的随机数u和v,然后使用Box-Muller公式计算出服从高斯分布的随机数y,并输出结果。
阅读全文