无理数的近似计算

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

抛物线形公式法
3.141592613939215 3.141592652969786 3.141592653587254 3.141592653589755 3.141592653589797 3.141592653589792 3.141592653589805
书上所用方法
3.142425985001098 3.141800986893093 3.141625986923004 3.141600986923123 3.141592986923124 3.141592736923131 3.141592656923131
结论:抛物线形公式法收敛速度最快,书上所用方法次之,矩形公式法收敛 速度最慢。 问题 2.令随机取点数取为 100000000,运行结果如下
3
五、实验总结和体会
完成一次数学实验需要各方面的因素,其中最重要的因素是编写出一套没有 谬误的程序,而要编写好程序,就需要对 matlab 中必要的命令了解且能应用。 对于 matlab 命令的不够熟悉,在实验过程中造成了一些麻烦。例如问题 1 中, 圆周率的近似值在书上精确到了小数点后 14 位,但我运行程序时却只能显示到 小数点后 4 位, 这就使通过抛物线形公式法计算出的圆周率近似值从等分区间数 为 10 时到等分区间数为 5000 时都是相同的,无从比较其收敛速度。于是只好求 助于百度知道,得知可以通过 matlab 菜单栏这样设置: file=>Preferences=>Command Window=>Text display,在 Numeric format 选择 long。 如果对 vpa 命令足够熟悉,就可以在此应用 vpa 命令来控制结果的精度。而 在问题 2 中, 我最大的收获在于其对问题新颖的观察角度和解决方法给了我一种 新的思想。其次,还学会了“&”符号的应用。
西安交通大学
数学实验报告
实验题目: 无理数的近似计算
班级 姓名 学号
填写日期 2013 年 6 月 7 日
0
一、实验问题
问题 1.对 P89 页示例 4:利用定积分
1 1 ������������ 0 1+������ 2
=
������ 4
计算圆周率π 的近似
值利用矩形、和抛物线形方法求近似值,并与书上的方法进行比较,看哪种方法 收敛速度快? 问题 2. 设有一制作均匀的冰淇淋可以看成由圆锥面 z = ������ 2 + ������ 2 和球面
������
(������2������−1 + 4������2������ + ������2������ +1 )
������ +1
问题 2. 根据“冰淇淋”的形状容易发现由平面 ������ = −1, ������ = 1, ������ = −1, ������ = −1, ������ = 0, ������ = 2围成的正方体恰好能将其包围在其中。假设冰淇淋的体积为 V,正方体 的体积为 U 试想:可以在正方体区域内等概率地随意各处取点,所取点落入冰
������ 淇淋的概率应该是冰淇淋的体积与正方体的体积之比,即 。若总取点数为 n, ������ ������������ ������ ������������ 其中落入冰淇淋中的次数为 cs,则有 = ,于是V = U ,其中 U=8。 ������ ������ ������
1
三、程序设计
六、实验扩展
1.通过将所求数用积分式表示,再转化为多项式求和的方法不仅可以解决求 π 的问题, 也可以推广到其他能够用积分式表示的无理数的求解问题上,如求无 理数 e 和欧拉数。 2.蒙特卡罗法为估计无理数的值提供了一种新思路,但是其误差太大,只有 随机取点数非常大时,才能得到一个比较接近真实值的解。例如实验中取了 1 亿个随机点, 程序运行了很长时间,才只能得到一个精确到小数点后 4 位的估计 值。 虽然如此, 我们还是可以用蒙特卡百度文库法估计一些对于精确度要求不很高的数 据。
问题 1. 矩形公式: n=input('请输入等分积分区间数'); i=0:1/n:1; s=0; for k=1:length(i)-1 s=s+(1/(1+(i(k))^2))*1/n; end pai=4*s 抛物线形公式: n=input('请输入等分积分区间数(n 必须为偶数)'); i=0:1/n:1; s=0; for k=1:(length(i)-1)/2 s=s+1/(1+(i(2*k-1))^2)+4*(1/(1+(i(2*k))^2))+1/(1+(i(2*k+1))^2); end pai=4/(3*n)*s 问题 2. cs=0; n=input('请输入随机取点数'); fori=1:n; a=rand(1,3); x=2*a(1)-1;y=2*a(2)-1;z=2*a(3); if z-sqrt(x.^2+y^2)>0 & x^2+y^2+(z-1)^2<1 cs=cs+1; end end V=8*cs/n
2
四、实验结果和结论
问题 1. 三种方法收敛速度比较如下 圆周率的近似值 等分区间数 n
矩形公式法 10 20 50 100 500 1000 5000
3.239925988907159 3.191175986954128 3.161525986923254 3.151575986923127 3.143591986923128 3.142592486923122 3.141792646923121
抛物线形公式:
������ ������
������ ������ ������������ =
������
������ 2 ������ +1
������ ������ ������������
������ =1 ������ 2 ������−1
������ − ������ ≈ 6������
������ 2 + ������ 2 + (������ − 1)2 = 1围成,采用取随机数的方法,用蒙特卡罗法计算这个冰淇 淋的体积。
二、问题分析
问题 1. 矩形公式:
������ ������
������ ������ ������������ ≈
������ ������ =1
������ ������������ ∆������������
4
相关文档
最新文档