数学实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学实验报告

实验序号:8日期:6/5

3.用MonteCarlo方法求两平面曲线y=x2(x≥0)与y=1−x2及y轴所围成的区域的面积。试分析[程序甲]和[程序乙]的不同之处。试问:哪一个程序是对的?为

什么?

4.分析附录中的[程序丙]和[程序丁]的设计本意。请问他们为什么都是错误的?5.设计一个三维投点的蒙特卡罗法计算π。并比较运行结果与二维投点的蒙特卡

罗法的运行结果,哪个更准确些。

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

实验过程记录(含基本步骤、主要程序清单及异常情况记录等):

1.通过实验,填写完成表格2~6的数据

实验1:随机投掷均匀骰子,验证各点数出现的概率是否为1/6

表2

试验次数/n 10000 10000 10000 10000 10000 10000

国徽朝上频

率0.496

8

0.507

8

0.493

6

0.499

9

0.500

7

0.500

4

国徽朝下频

率0.503

1

0.497

8

0.499

1

0.494

3

0.501

7

0.501

9

实验2:随机投掷均匀骰子,验证各点数出现的概率是否为1/6

表3

试验次数n 10000 10000 10000 10000 10000

出现一点频率0.1715 0.1675 0.1704 0.166 0.1683 出现二点频率0.1661 0.1628 0.1617 0.1648 0.1673 出现三点频率0.1629 0.1656 0.1685 0.1676 0.1748 出现四点频率0.1723 0.1629 0.1638 0.166 0.1616 出现五点频率0.161 0.17 0.1676 0.1658 0.1634 出现六点频率0.1662 0.1712 0.168 0.1698 0.1646 实验3:利用蒙特卡罗(montecarlo)投点法计算π。

表4

试验次数n 100

000

100

000

100

000

100

000

100

000

100

000

所得π的近似

值3.13

84

3.14

52

3.13

82

3.13

85

3.14

22

3.13

21

实验4:蒲丰(buffon)投针实验

表5

试验次数n 100000100000100000100000100000

针长l/平行

线间距d

0.5 0.5 0.5 0.5 0.5

相交频率0.3176 0.3196 0.3169 0.3166 0.3191

相交概率的

3.1415 3.1415 3.1415 3.1415 3.1415

理论值

π的近似值 3.1485 3.1287 3.1560 3.1586 3.1335

实验5:生日问题,设某班有m个学生,则该班至少有两人同一天生日的概率为

多少?

表6

试验次数n 10001000100010001000

班级人数m 5050505050

至少有两人生

日相同的频率0.96900.97400.97600.96500.9600

至少有两人生

日相同的概率

0.97040.97040.97040.97040.9704

的理论值

3.用MonteCarlo方法求两平面曲线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的交点横坐标为√22,纵坐标为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.设计一个三维投点的蒙特卡罗法计算π。并比较运行结果与二维投点的蒙特卡

罗法的运行结果,哪个更准确些。

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

相关文档
最新文档