首先下图是一个蒙特卡罗方法求圆周率的一个经典案例:


即主要思想为我们在该矩形中随机生成若干个点,最后有一些落在这个矩形的内接圆内,有的则在阴影部分。即此时 圆内的点数量/生成点的总数=圆的面积/矩形面积=(π*r*r)/(4*r*r)
由此当试验次数(即生成的点)足够多的时候,我们可以计算出圆周率的近似值。并且当随机生成的点越多,则估值越接近于真实值。
此时,在矩形中随机生成一个点的方法即
rand一个0~1之间的随机数,然后乘以矩形的边长。随机点的坐标x和y都用这种方式生成。
那么,由此我们可以得到第一种在圆内生成随机点的方法,即先在这个圆外画一个外接矩形,然后用以上方法在矩形内生成随机点,然后拒绝掉那些落在圆外面的。最后的结果即是在圆内生成随机点。

本文探讨了蒙特卡罗方法在求解圆周率中的应用,通过在圆及其外接矩形内随机生成点来估算π值。介绍了两种随机点生成方法:直接在矩形内生成并筛选,以及利用极坐标随机生成。展示了两种方法在点分布上的差异,指出第二种方法需调整以实现均匀分布。
最低0.47元/天 解锁文章
628

被折叠的 条评论
为什么被折叠?



