java程序实现用统计学里面的门特卡罗方法求圆周率

 蒙特卡洛方法又称统计模拟法,随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法。是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名,这也是蒙特卡洛法的基本思想。当样本数量足够大时,我们可以用频率去估计概率。这也是求圆周率π的常用方法。当我们在(0,1)的范围内随机选择一个坐标(x, y)时,每个坐标点被选中的概率相等。则坐标落在边为1的正方形中的四分之一圆面的概率为:

通俗点说就是随机点落在四分之一圆面(第一象限)上的点的概率 与 随机点落在四分之一正方形(第一象限)的比为 四分之一圆面的面积 与 四分之一正方形的面积之比 。

 

 

 

 

程序实现:

用1000000的随机样本数,样本数越大,圆周率越精确。跑了一下十亿的样本数,电脑要跑几十秒,跑出来的结果是3.14159522...

 

 

运行结果:

 

 

 

posted @   日程百行  阅读(527)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示