gpt4 book ai didi

javascript - 使用蒙特卡罗模拟计算 pi

转载 作者:行者123 更新时间:2023-11-28 17:31:52 25 4
gpt4 key购买 nike

我创建了这个脚本

const size = 500;
const iterations = 10000000;

let inside = 0;
for (let i = 0; i < iterations; i++) {
var Xpos = Math.floor(Math.random() * size);
var Ypos = Math.floor(Math.random() * size);

var dist = Math.hypot(Ypos-Xpos, size / 2 - size / 2);

if (dist <= size / 2) {
inside++;
}
}

document.write(4 * inside / iterations);

参见https://jsfiddle.net/tr8tnxdm/3/将 100000000 个点放入 500、500 个网格中,圈内的点会被记录下来,最后除以总数并乘以 4。

这应该输出一个非常粗略的 pi 估计值,但它没有,我不明白为什么。我知道这不是因为低于或等于,因为我也只尝试过低于(第 11 行)

最佳答案

问题出在这行代码:

var dist = Math.hypot(Ypos-Xpos, size / 2 - size / 2);

一个参数应该在一个轴上存在差异,另一个参数应该在另一个轴上存在差异,如下所示:

var dist = Math.hypot(Xpos - size / 2, Ypos - size / 2);

此更改极大地提高了估计值(我得到了 3.14...)

关于javascript - 使用蒙特卡罗模拟计算 pi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com