当前位置:文档之家› 数学实验实验报告概率与频率

数学实验实验报告概率与频率

数学实验实验报告概率
与频率
WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】
数学实验报告实验序号:8 日期:6/5
的?为什么?
4.分析附录中的[程序丙]和[程序丁]的设计本意。

请问他们为什么都是错误的?5.设计一个三维投点的蒙特卡罗法计算π。

并比较运行结果与二维投点的蒙特卡罗法的运行结果,哪个更准确些。

提示:随机投点落在单位正方体的内切球体内部。

实验过程记录(含基本步骤、主要程序清单及异常情况记录等):
1.通过实验,填写完成表格2~6的数据
实验1:随机投掷均匀骰子,验证各点数出现的概率是否为1/6
表2
试验次数/n 10000 10000 10000 10000 10000 10000
国徽朝上频率
国徽朝下频率
实验2:随机投掷均匀骰子,验证各点数出现的概率是否为1/6
表3
试验次数n 10000 10000 10000 10000 10000 出现一点频率
出现二点频率
出现三点频率
出现四点频率
出现五点频率
出现六点频率
实验3:利用蒙特卡罗(monte carlo)投点法计算π。

表4
试验次数n 10000
10000
10000
10000
10000
10000
所得π的近似值
实验4:蒲丰(buffon)投针实验
表5
试验次数n 100000100000100000100000100000
针长l/平行
线间距d
相交频率
相交概率的
理论值
π的近似值
实验5:生日问题,设某班有m个学生,则该班至少有两人同一天生日的概率为多少?
表6
试验次数n 10001000100010001000
班级人数m 50 50 50 50 50
至少有两人生
日相同的频率
至少有两人生
日相同的概率
的理论值
3.用Monte Carlo方法求两平面曲线y=x2(x≥0)与y=1−x2及y轴所围成的区域的面积。

试分析[程序甲]和[程序乙]的不同之处。

试问:哪一个程序是对的?为什么?
[程序甲] 结果 [程序乙] 结果
从实验结果我们可以看出[程序乙] 的误差要小很多,所以我们有理由认为[程序乙]正确,另一方面,分析[程序甲]和[程序乙]的不同之处:
(1)[程序甲]没有分别用变量x和y事先定义rand(1)*a和rand(1)*b
(2)[程序甲]的if条件句:rand(1)*b>=(rand(1)*a)^2&rand(1)*b<1-
(rand(1)*a)^2
[程序乙]的if条件句:y<=1-x^2&y>x^2
即:rand(1)*b<=1-
(rand(1)*a)^2&rand(1)*b>(rand(1)*a)^2?
可以看出[程序甲]和[程序乙]的取等情况及不等式的顺序不同,不过很显然,这两种逻辑并不影响实验结果。

经过分析[程序甲]和[程序乙]的不同之处我们可以认为,由于[程序甲]没有用变量x和y事先定义rand(1)*a和rand(1)*b而引起甲乙两结果不同,所以Monte?Carlo投点法在使用过程中应事先定义,再进行if语句的运行。

4.分析附录中的[程序丙]和[程序丁]的设计本意。

请问他们为什么都是错误的?
[程序丙] 结果 [程序丁] 结果
通过分析对比[程序丙]和[程序丁]与[程序乙]的区别,我们可以看出:
[程序丙]的a 的赋值是错误的,曲线y =x 2(x ≥0)与y =1−x 2的交点横坐标为√2
2,纵坐标为1,所以在对初始值a,b 赋值时应分别赋为a =
√22
,b =1
[程序丁]不仅没有事先定义rand(1)*a 和rand(1)*b ,而且[程序丁]的if 条件句rand(1)<1-rand(1)^2&rand(1)>=rand(1)^2也是错误的,rand(1)没有乘以a 或b ,使得结果偏小很多。

5.设计一个三维投点的蒙特卡罗法计算π。

并比较运行结果与二维投点的蒙特卡罗法的运行结果,哪个更准确些。

提示:随机投点落在单位正方体的内切球体内部。

试验次数n 100000 100000 100000 100000 100000 100000 (二维)所得π的近似值 (三维)所得π的近似值
通过对比二维与三维投点的蒙特卡罗法的运行结果可以发现,二维投点的蒙特卡罗法的运行结果更加准确。

实验结果报告与实验总结:
通过本实验加深了我们对频率和概率等概念的理解和认识,而且我们可以体会到运用经典的蒙特卡罗投点法可以近似求解无理数π或是不规则曲面面积等,从频
率与概率的角度来解决数学问题也是一个很好的思路。

思考与深入:
本次实验通过计算机模拟验证了实验次数无限大情况下,频率近似等于概率的统计学结论,而且运用蒙特卡罗投点法近似求解了无理数π和不规则曲面面积。

通过问题3、4我们因该注意到在使用蒙特卡罗投点法时应事先定义变量,再运行if 条件句。

相关主题