串行并行利用蒙特卡罗方法求圆周率PI

操作系统实验报告,方法存在缺陷,应付学校实验报告 。
一、实验内容

串行并行利用蒙特卡罗方法求圆周率PI

文章插图
(1)利用蒙特卡罗方法求圆周率PI
(2)编写串行和多线程的代码分别计算并记录时间
串行并行利用蒙特卡罗方法求圆周率PI

文章插图
【串行并行利用蒙特卡罗方法求圆周率PI】二、实验原理 2.1 计算原理
在数值积分法中,我们利用求单位圆的1/4的面积来求得Pi/4从而得到Pi 。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分,只要能求出扇行面积SI在正方形面积s中占的比例K=S1/S就立即能得到SI,从而得到Pi的值 。怎样求出扇形面积在正方形面积中占的比例K呢?一个办法是在正方形中随机投入很多点,使所投的点落在正方形中每-一个位置的机会相等看其中有多少个点落在扇形内 。将落在扇形内的点数m与所投点的总数n的比m/n作为k的近似值 。怎样实现这样的随机投点呢?任何一款计算机语言都有这种功能,能够产生在区间[0, 1]内均匀分布的随机数,产生两个这样的随机数x,y,则以(x, y)为坐标的点就是单位正方形内的一点P,它落在正方形内每个位置的机会均等,P落在扇形内的充要条件是x2+y2