1、数学实验之mdashmdash数学实验之 ,无穷的神秘气息探秘 薛东明5030309891张晗雨5030309928 圆周率是一个极其驰名的数。从有文字记载的历史开始,这个数就引进了外行人和学者们的兴趣。作为一个非常重要的常数,圆周率最早是出于解决有关圆的计算问题。仅凭这一点,求出它的尽量准确的近似值,就是一个极其迫切的问题了。事实也是如此,几千年来作为数学家们的奋斗目标,古今中外一代一代的数学家为此献出了自己的智慧和劳动。回顾历史,人类对 的认识过程,反映了数学和计算技术发展情形的一个侧面。 的研究,在一定程度上反映这个地区或时代的数学水平。德国数学史家康托说:“历史上一个国家所算得的圆周率
2、的准确程度,可以作为衡量这个国家当时数学发展水平的指标。”直到19世纪初,求圆周率的值应该说是数学中的头号难题。之所以如此,看看下面的方程就会明白。这只是一小部分,后面有更多。下面我和我的同伴就计算的历史过程讨论一下值的计算方法。几何学:若圆的半径为 r,圆周为 C = 2 r 若圆的半径为 r,其面积为 A = r2 若球的半径为 r,其体积为V = (4/3) r3 若球的半径为 r,其表面积为 r: A = 4 r2分析数学:数论 :任意两个自然数,互质的概率是6/。 概率论 取一枚长为l的针,再取一张白纸在上面画上一些距离为2的平行线。把针从一定高度释放,让其自由落体到纸面上。针与平行
3、线相交的概率是圆周率的倒数。(蒲丰投针) 物理学(海森堡测不准原理) (爱因斯坦相对论场方程)实验时期计算通过实验对 值进行估算,这是计算 的的第一阶段。这种对 值的估算基本上都是以观察或实验为根据,是基于对一个圆的周长和直径的实际测量而得出的。在古代世界,实际上长期使用 3这个数值。最早见于文字记载的有基督教圣经中的章节,其上取圆周率为3。这一段描述的事大约发生在公元前950年前后。其他如巴比伦、印度、中国等也长期使用3这个粗略而简单实用的数值。在我国刘徽之前“圆径一而周三”曾广泛流传。我国第一部周髀算经中,就记载有圆“周三径一”这一结论。在我国,木工师傅有两句从古流传下来的口诀:叫做:“周
4、三径一,方五斜七”,意思是说,直径为1的圆,周长大约是3,边长为5的正方形,对角线之长约为7。这正反映了早期人们对圆周率 和2 这两个无理数的粗略估计。东汉时期官方还明文规定圆周率取3为计算面积的标准。后人称之为“古率”。早期的人们还使用了其它的粗糙方法。如古埃及、古希腊人曾用谷粒摆在圆形上,以数粒数与方形对比的方法取得数值。或用匀重木板锯成圆形和方形以秤量对比取值由此,得到圆周率的稍好些的值。如古埃及人应用了约四千年的 4 (8/9)2 = 3.1605。在印度,公元前六世纪,曾取 = 10 = 3.162。在我国东、西汉之交,新朝王莽令刘歆制造量的容器律嘉量斛。刘歆在制造标准容器的过程中就
5、需要用到圆周率的值。为此,他大约也是通过做实验,得到一些关于圆周率的并不划一的近似值。现在根据铭文推算,其计算值分别取为3.1547,3.1992,3.1498,3.2031比径一周三的古率已有所进步。人类的这种探索的结果,当主要估计圆田面积时,对生产没有太大影响,但以此来制造器皿或其它计算就不合适了几何法计算凭直观推测或实物度量,来计算 值的实验方法所得到的结果是相当粗略的。真正使圆周率计算建立在科学的基础上,首先应归功于阿基米德。他是科学地研究这一常数的第一个人,是他首先提出了一种能够借助数学过程而不是通过测量的、能够把 的值精确到任意精度的方法。由此,开创了圆周率计算的第二阶段。圆周长大
6、于内接正四边形而小于外切正四边形,因此 22 4 。当然,这是一个差劲透顶的例子。据说阿基米德用到了正96边形才算出他的值域。 阿基米德求圆周率的更精确近似值的方法,体现在他的一篇论文圆的测定之中。在这一书中,阿基米德第一次创用上、下界来确定 的近似值,他用几何方法证明了“圆周长与圆直径之比小于 3+(1/7) 而大于 3 + (10/71) ”,他还提供了误差的估计。重要的是,这种方法从理论上而言,能够求得圆周率的更准确的值。到公元150年左右,希腊天文学家托勒密得出 3.1416,取得了自阿基米德以来的巨大进步。割圆术。不断地利用勾股定理,来计算正N边形的边长。 在我国,首先是由数学家刘徽
7、得出较精确的圆周率。公元263年前后,刘徽提出著名的割圆术,得出 3.14,通常称为“徽率”,他指出这是不足近似值。虽然他提出割圆术的时间比阿基米德晚一些,但其方法确有着较阿基米德方法更美妙之处。割圆术仅用内接正多边形就确定出了圆周率的上、下界,比阿基米德用内接同时又用外切正多边形简捷得多。另外,有人认为在割圆术中刘徽提供了一种绝妙的精加工办法,以致于他将割到192边形的几个粗糙的近似值通过简单的加权平均,竟然获得具有4位有效数字的圆周率 3927/1250 3.1416。而这一结果,正如刘徽本人指出的,如果通过割圆计算得出这个结果,需要割到3072边形。这种精加工方法的效果是奇妙的。这一神奇
8、的精加工技术是割圆术中最为精彩的部分,令人遗憾的是,由于人们对它缺乏理解而被长期埋没了。恐怕大家更加熟悉的是祖冲之所做出的贡献吧。对此,隋书律历志有如下记载:“宋末,南徐州从事祖冲之更开密法。以圆径一亿为丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率:圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。”这一记录指出,祖冲之关于圆周率的两大贡献。其一是求得圆周率3.1415926 3.1415927 其二是,得到 的两个近似分数即:约率为227;密率为355113。他算出的 的8位可靠数字,不但在当时是最精密的圆周率,而且保持世
9、界记录九百多年。以致于有数学史家提议将这一结果命名为“祖率”。这一结果是如何获得的呢?追根溯源,正是基于对刘徽割圆术的继承与发展,祖冲之才能得到这一非凡的成果。因而当我们称颂祖冲之的功绩时,不要忘记他的成就的取得是因为他站在数学伟人刘徽的肩膀上的缘故。后人曾推算若要单纯地通过计算圆内接多边形边长的话,得到这一结果,需要算到圆内接正12288边形,才能得到这样精确度的值。祖冲之是否还使用了其它的巧妙办法来简化计算呢?这已经不得而知,因为记载其研究成果的著作缀术早已失传了。这在中国数学发展史上是一件极令人痛惜的事。割圆术的Mathmatica直观表示:Fork = 0, k 5 ,k+, n= 6
10、*2k; v1 = GraphicsRGBColor1, 0,0, Circle0,0 , 1; v2 = GraphicsRGBColor0, 1,0, LineTableCos2Pi*i/n,Sin2Pi*i/n, i, 0, n; v3 = GraphicsRGBColor0,0,1, LineTableCos2Pi*i/n/Cospi/n, Sin2Pi /n/CosPi/n, i,0, n; Showv3, v1, v2,AspectRatio Automatic图像:下面我们用多边形割圆术计算 Print a1 , a2 , r, n;Fork = 0, k 15, k+, n =
11、 6 * 2k; a1 = Nn/2 * Sin2 Pi/n , 20; a2 = Nn * TanPi/n, 20;r= a2- a1; Print ,a1, , a2, ,r, ,n结果 a1 a2 r n 2.5980762113533159403 3.4641016151377545871 0.8660254037844386468 6 3.0000000000000000000 3.2153903091734724777 0.2153903091734724777 12 3.1058285412302491482 3.1596599420975004833 0.05383140086
12、72513351 24 3.1326286132812381972 3.1460862151314349711 0.0134576018501967739 48 3.1393502030468672071 3.1427145996453682982 0.0033643965985010910 96 3.1410319508905096381 3.1418730499798238717 0.0008410990893142336 192 3.1414524722854620755 3.1416627470568485262 0.0002102747713864508 384 3.14155760
13、79118576455 3.1416101766046895388 0.0000525686928318932 768 3.1415838921483184087 3.1415970343215261520 0.0000131421732077433 1536 此种方法可以夹出Pi值Pi = 3.141592653数值积分方法计算:由于计算数学分析方法很多我们只就一些方法讨论: 此种方法已作出VC程序。(韦达给出的1593年) 数值积分方法 :梯形法a = 0; b= 1;yx_:= 4/(1 + x2)n = 1000pis1 = N(b - a )/n * (Sumya + i * (b-
14、a)/n, i, 1, n-1 + (ya + yb) / 2), 100输出:3.141592486923126571797960843596962254687789892599763108108372731390288109790562585631933321397748830两个端点和中点所成的二次曲线的面积和(辛普森公式):a = 0; b= 1;yx_:= 4/(1 + x2)n = 1000;pis2 = N(b-a)/6/n*(ya + yb) + 2 * Sumya + i*(b - a)/n, i, 1, n-1 + 4*Sumya + (i - 1/2) * (b -a )
15、/n,i, 1, n), 100输出:3.141592653589793238462023343596963516081019055794419480210497134309960210824915446285805237414852023幂级数展开:当x = 1时,Fori = 0, i 5000, i = i+500; d = N4Sum(-1)j/(2j + 1 ), j, 0, i , 5; r = N 4/ ( 2i + 3), 5; Printi = , i, Pi = , d, ri = , r 输出i = 500 Pi = 3.1436 ri = 0.0039880 i = 1
16、000 Pi = 3.1426 ri = 0.0019970 i = 1500 Pi = 3.1423 ri = 0.0013320 i = 2000 Pi = 3.1421 ri = 0.00099925 i = 2500 Pi = 3.1420 ri = 0.00079952 i = 3000 Pi = 3.1419 ri = 0.00066633 i = 3500 Pi = 3.1419 ri = 0.00057118 i = 4000 Pi = 3.1418 ri = 0.00049981 i = 4500 Pi = 3.1418 ri = 0.00044430 i = 5000 Pi
17、 = 3.1418 ri = 0.00039988 i = 5500 Pi = 3.1418 ri = 0.00036354可以看出收敛的速度极慢,不适合计算 值。其他级数法:其中级数法已做出了VC程序。泰勒级数展开法n = 10000;pimaqin = N16 * Sum(-1)(k - 1) * (1/5) (2k -1)/(2k -1), k ,1, n - 4*Sum(-1) (k -1) * (1/239)(2k -1)/(2k-1),k, 1 ,n , 1000输出:3.1415926535897932384626433832795028841971693993751058209
18、749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925
19、903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684
20、409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577
21、80532171226806613001927876611195909216420199另一种展开法:n = 100;pimaqin = N4* Sum(-1)(k - 1) * (1/2) (2k -1)/(2k -1), k ,1, n +4*Sum(-1) (k -1) * (1/5)(2k -1)/(2k-1),k, 1 ,n + 4* Sum(-1)(k - 1) * (1/8) (2k -1)/(2k -1), k ,1, n , 1000输出: 3.141592653589793238462643383279502884197169399375105820974944592307
22、816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330
23、530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953
24、430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226
25、806613001927876611195909216420199以上两种方法比第一个收敛得快得多。这里还有一种更快的方法: /4 = 12tan(1/38) + 20tan(1/57) + 7tan(1/239)+24tan(1/268)程序:n = 1000;pimaqin = N48 * Sum(-1)(k - 1) * (1/38) (2k -1)/(2k -1), k ,1, n + 80*Sum(-1) (k -1) * (1/57)(2k -1)/(2k-1), k ,1, n+28* Sum(-1)(k - 1) * (1/239) (2k -1)/(2k -1), k , 1
26、, n + 96*Sum(-1) (k -1) * (1/268)(2k -1)/(2k-1),k, 1 ,n , 1000输出: 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337
27、867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463
28、952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533
29、44685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420199此种方法收敛性极好,当n = 10时,输出3.141592653589793238462643383279501358609956681887124392896760062050740928058384438167912417331072689完全正确。可以正确的计
30、算出100位以上。其实,级数法的展开式arctg法可以有很多表示方法。即是每次用tan的二倍角公式解二元二次方程。用左右两端夹逼出来。有非常美观的连分数表示方法: 其中以经选择了第二种方法做出了VC程序蒙特卡罗法:圆中投点法n =1000;pimontecario1 = Blocki , m = 0, Fori = n, i 0, i-, m = m + IfRandom2 + Random2 1, 1,0; N4*m/n, 10输出:3.138232000其实,不一定要圆中投点,任何和圆有关的都可以计算。如立体的圆球投点法,球面投点法。 的其它计算方法:蒲丰投针法在1777年出小版的或然性算术实验一书中,蒲丰提出了用实验方法计算 。这个实验方法的操作很简单:找一根粗细均匀,长度为 d 的细针,并在一张白纸上画上一组间距为 l 的平行线(方便起见,常取 l = d/2),然后一次又一次地将针任意投掷在白纸上。这样反复地投多次,数数针与任意平行线相交的次数。于是就可以得到 的近
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1