1、尚国荣 数学实验三最佳分数逼近实验环境:mathematica实验目的:1、用“连分数展开”的方法计算圆周率 的近似值; 2、通过实验来体会“连分数展开”的方法与其他方法的区别,比较各种方法的优劣;3、尝试用“连分数展开”的方法对其他的数进行展开。实验方法:1、Mathematica中常用的展开数与多项式的函数的使用;2、计算圆周率 “连分数展开”方法,并且利用特定的函数来展开其他数实验步骤:一多项式的展开与化简多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica 提供一组按不同形式表示代数式的函数。如:1.
2、 对 进行分解,使用的函数为 Factor:12x代码: Factorx12 1结果: 1 x1 x1 x21 x x21 x x21 x2 x42. 展开多项式 与 ,使用的函数为 Expand:7+2( ) 5y( )代码: Expandx y 75结果:16807 12005x 3430x2 490x3 35x4 x5 12005y 6860xy1470x2y 140x3y 5x4y 3430y2 1470xy2 210x2y210x3y2 490y3 140xy3 10x2y3 35y4 5xy4 y53. 连个多项式相除,总能写成一个多项式和一个有理式相加, Mathematic 中
3、提供两个函数 PolynomialQuotient 和 PolynomialRemainder 分别返回商式和余式:代码: PolynomialQuotientx3,2 2x,x结果:12 x2 x224. 化简 与 ,使用的函()4()3(1)3(2)4(3)1xx数为 Pimplify:代码: SimplifyExpandx 14 x 2x 3结果: 1 x42 x3x二. 的连分数展开的求解方法之前我们已经有许多种,但都比较繁琐而且误差较大,如何找到误差较小的 的近似值求解方法,我们在所得整数 3 的基础上进行分析,有了整数 3,则 =3+ ,其中 是 3 的误差, 。1x10.4592
4、67.10x只要能找到 的最佳分数逼近值,再加 3 就得到 的最佳分数近似值。从而我1 们使用一种方法“连分数展开“,其原理是 为了寻找与 接近的分数,先找1x接近的整数,显然是 7.于是17.0625139.Ax 1237A这是祖冲之的效率。在此基础上,我们可以再用上述方法,要找到比 误差更小的分数近似27值,只需要找到比整数 7 更接近 的分数来作为 的近似值。由于 ,1A1A127Ax其中 。先找 的最佳整20.651309.x25.964085.x数近似值,显然是 16.于是 ,从而12137A,这就得到祖冲之的密度。12353716A如果还要进一步提高精确度,就应当在考虑 的整数近似
5、值 16 的误差2A,取 的整数近似值32160.34591.xA319.634510.Ax294,则可得到 的更好的近似值 。将这样的过程无限的进行下716294去,得到的 的越来越精确的近似值。对于 的连续分式的 5 项,Mathematics 程序运行如下,得到的近似值为3.14159,精确度为小数点后 5 位。代码: ContinuedFractionPi,5结果: 3,7,15,1,292代码;a 3;b 7;c 15;d 1;e 292;m a 1b 1c 1d 1eprintNm,5结果: 10399333102三其他一些数的连分数展开1、有理数代码: ContinuedFrac
6、tion4717结果: 2,1,3,4代码: 2 11 13 14结果:47172、二次无理数 (循环连续分式)代码: ContinuedFractionSqrt13结果: 3,1,1,1,1,6代码: ContinuedFractionSqrt13,20结果: 3,1,1,1,1,6,1,1,1,1,6,1,1,1,1,6,1,1,1,1代码: ContinuedFractionNPi,20结果: 3,7,15,1,292,1,1,1,2,1,3,1,14,2,1,1,2,2,23、 的连续分式的 n 项是很有规律e代码: ContinuedFractionSqrtE,25 结果:1,1,1
7、,1,5,1,1,9,1,1,13,1,1,17,1,1,21,1,1,25,1,1,29,1,14、 的连续分式前 1000 项的几何平均数代码: NApplyTimes,ContinuedFractionPi,100011000结果: 2.66563代码: NKhinchin结果: 2.68545代码: ContinuedFractionExpPiSqrt163,10结果:262537412640768743,1,1333462407511,1,8,1,1,5,1,4代码: NExpPiSqrt163,50结果:2.6253741264076874399999999999925007259
8、719818568888 1017代码: ContinuedFractionCoth1,20结果:1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39代码: ContinuedFractionBesselI0,1BesselI1,1,20结果:2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40代码: ContinuedFractionBesselI1,2BesselI0,2,20结果:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19结果分析:虽然在实验过程中存在语句错写问题,但经过分析、改正均达到实验预期结果;并在最后给出了用公式法计算 的值,随着精度的增高,结果越来越逼近,越近似。