实践-问题:蒙特卡罗模拟
蒙特卡洛模拟是使用随机数和概率来解决问题。
这个方法在计算数学、物理、化学和金融等方面有广泛的应用。 这里给出的是一个使用蒙特卡罗模拟来估算π的例子。
circleArea / squareArea = p / 4.
π可以被近似地认为是
4 * numberOfHits / 1000000
运行代码:
public class MonterCol {
public static void main(String[] args) {
final int TEST = 1000000;
int numberOfHit = 0;
for (int i = 1; i < TEST; i++) {
double x = Math.random() * 2 - 1;
double y = Math.random() * 2 - 1;
if (x*x + y*y <= 1) {
numberOfHit++;
}
}
double PI = 4.0 * numberOfHit / TEST;
System.out.println(PI);
}
}