我创建了一个网站,它使用蒙特卡罗模拟来计算π,目前有3202959700000‘点’和2515023487209在圆圈中。将其插入公式4 * 2515023487209 / 3202959700000返回3.1408743446993728956377440527897,这是非常不正确的。这是错的,因为这里没有足够的“点”,还是我只是把它们放错了地方?
发布于 2018-06-15 20:40:24
密码
var size = 500;
var Xpos = Math.floor(Math.random() * size);
var Ypos = Math.floor(Math.random() * size);
var dist = Math.hypot(Xpos - size / 2, Ypos - size / 2);在0..499范围内产生随机坐标。这不是区间0..500的均匀抽样,因此在计算中必须有误差。第一个修正是在坐标上增加0.5,这样大的正方形被细分为由它们的中心所代表的较小的正方形。但最终,该方法的精度不能超过500×500细分中“大部分”位于圆圈内的平方的计数。
发布于 2018-06-15 18:36:34
用蒙特卡罗模拟计算π是非常慢的。例如,这个示范使用了100万点,得到了3.16分。你需要一个荒谬的点数来进一步完善这个估计。
计算圆周率是了解蒙特卡罗模拟的一个很好的方法,但是如果你真的关心尽可能多的数字,那么我会告诉你Chudnovsky算法。
https://stackoverflow.com/questions/50880857
复制相似问题