网站首页  词典首页

请输入您要查询的论文:

 

标题 用Python实现割圆术算法
范文

    刁乾坤

    【摘要】 圆周率是人类获得的最古老的数学概念之一.3世纪中期,魏晋时期的数学家刘徽[1]首创割圆术,为计算圆周率建立了严密的理论和完善的算法,所谓割圆术,就是不断倍增圆内接正多边形的边数求出圆周率的方法.本文将通过Python语言,在JUPYTER NOTEBOOK中实现割圆术算法.

    【关键词】 圆周率;割圆术;算法

    主要仪器设备JUPYTER NOTEBOOK PYTHON 3.

    设半径为1的圆的边数为6·2n的内接正多边形边长为an,如图所示,其中,AC= an 2 ,AD=a2n,OD=1,OC= 1-? an 2? 2 ,AD2=AC2+CD2=AC2+(OD-OC)2,

    则a2n=?? an 2? 2+ 1- 1-? an 2? 2? 2 = 2- 4-a2n? .

    相应的△AOD面积为:Sn+1= 1 2 OD·AC.

    所以,π≈6·2n+1·Sn+1,

    程序代码

    import numpy as np

    def liuhui(n):

     a=np.zeros(n+2)

     a[0]=1

     for k in range(n+1):

    a[k+1]=np.sqrt(2-np.sqrt(4-a[k]**2))

     return(print(′圓的内接正6*2^n边形的边长为:′,a[n]),print(′圆周率的近似值为:′,3*2**n*a[n]))

    Python中π的参考值为3.141592653589793.

    运算结果为:

     n 正多边形边长 正多边形边数 圆周率近似值

    0 1.0 6 3.0

    1 0.517638090205 12 3.10582854123

    2 0.26105238444 24 3.13262861328

    3 0.13080625846 48 3.13935020305

    4(刘徽) 0.0654381656436 96 3.14103195089

    5 0.032723463253 192 3.14145247229

    6 0.0163622792079 384 3.14155760791

    7 0.00818120805247 768 3.14158389215

    8 0.00409061258234 1536 3.14159046324

    9 0.00204530736071 3072 3.14159210604

    10 0.00102265381399 6144 3.14159251659

    11(祖冲之) 0.000511326923607 12288 3.14159261864

    12 0.000255663463975 24576 3.14159264532

    13 0.000127831731987 49152 3.14159264532

    结果分析:刘徽利用正96边形算得圆周率小数点后3位精确数字;祖冲之利用正12288边形算得圆周率小数点后7位精确数字.在数学上,祖冲之推算出圆周率的真值应该介于3.1415926和3.1415927之间,比欧洲要早一千多年.

    【参考文献】

    [1]郭书春.中国古代数学[M].北京:商务印书馆,1997:164.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/5 15:37:42