77百科网
当前位置: 首页 生活百科

python解决数值计算问题(Python详解π的计算)

时间:2023-07-30 作者: 小编 阅读量: 2 栏目名: 生活百科

在数学界,有这么一个困扰人们多年的问题,至今都有人在研究,那就是大名鼎鼎的——π。

π在数学界十分出名的,圆的面积公式就用到了π,S=πr²,π=3.14相信大家肯定知道吧,有些人或许能背得更多(你能背到几呢?欢迎评论![偷笑])。

但你以为就此结束了吗?目前,人们通过超级计算机算到了π的第808亿位,可是你知道他们是用什么方法算的吗?

今天,就给大家科普科普,以及用Python实现一下。

1、BBP公式

BBP公式,又称贝利-波尔温-普劳夫公式,具体公式如下:

这公式看起来很复杂,实际就是求和公式的简化,原式子:

k=0

π=[1/(16^k)]*[4/(8^k 1)-2/(8^k 4)-1/(8*k 5)-1/(8*k 6)]

k=1

π =[1/(16^k)]*[4/(8^k 1)-2/(8^k 4)-1/(8*k 5)-1/(8*k 6)]

k=2

π =[1/(16^k)]*[4/(8^k 1)-2/(8^k 4)-1/(8*k 5)-1/(8*k 6)]

k=3

……

k=无限

π =[1/(16^k)]*[4/(8^k 1)-2/(8^k 4)-1/(8*k 5)-1/(8*k 6)]

这个用Python实现十分简单:

k=0times=1000pi=0for i in range(times):pi =(1/pow(16,k))*(4/(8*k 1)-2/(8*k 4)-1/(8*k 5)-1/(8*k 6))k =1

pi就代表π

k是从0~times

times是k的最大值

π=3.141592653589793

不知大家学了decimal标准库了没有

import decimala=decimal.Decimal(1.23456789)b=decimal.Decimal(3.141592653589793)decimal.getcontext().prec=20print(a*b)

结果可以精确小数点后20位

我们也可以将π精确化,顺便加计时:

import decimal as decimport timestart=time.time()k=0times=1000pi=0for i in range(times):pi =(1/pow(16,k))*(4/(8*k 1)-2/(8*k 4)-1/(8*k 5)-1/(8*k 6))k =1end=time.time()pi=dec.Decimal(pi)dec.getcontext().prec=20print("pi:" str(pi))print("time:" str(end-start))

pi=3.141592653589793115997963468544185161590576171875

这是个万能公式![思考]

2、蒙特卡罗算法

步骤如下:

如图所示的单位正方形和圆,随机抛洒点在正方形里,计算每个点到圆心的距离(0,0),从而得出点在圆内或圆外,用园内点数除以总点数就是π/4值,点个数越大越,π越精准。

这里有个小知识:

求二维坐标轴中任意一点到(0,0)点的距离=根号(x² y²)

import randomimport mathimport timeimport decimaldarts=1000000hits=0start=time.time()for i in range(1,darts 1):x,y=random.random(),random.random()dist=math.sqrt(x**2 y**2)if dist<=1:hits =1pi=4*(hits/darts)pi=decimal.Decimal(pi)decimal.getcontext().prec=20end=time.time()print("pi:" str(pi))print("times:" str(end-start))

darts是点数

hits是在圆内的点数

x,y是坐标

dist是到(0,0)的距离

得pi=3.14155199999999990012611306156031787395477294921875

不是很精准,但比较接近了,darts越多越精准。

今天就给大家分享到这里![强]

大家还知道什么计算圆周率π的方法吗?欢迎留言!

    推荐阅读
  • 蹦迪选手是什么意思(蹦迪选手谁唱的)

    下面更多详细答案一起来看看吧!蹦迪选手是什么意思歌曲《蹦迪选手》由郑顺鹏、付玲云演唱,郑顺鹏作词作曲,Funnyface编曲,歌曲于2021年3月30日全网上线。

  • 三国鼎立是指哪三国(三国的皇帝分别是谁?(三国鼎立的国家和皇帝)

    下面希望有你要的答案,我们一起来看看吧!三国鼎立是指哪三国三国鼎立,指东汉末年三国时期,魏、汉、吴三国,三分天下,成犄角对峙局面。三国时期魏国皇帝:曹操;三国时期汉朝皇帝:刘备;三国时期吴国皇帝:孙权。从公元220年起,在我国历史上先后建立了曹魏、季汉、东吴三个国家,它们三分东汉州郡之地,各霸一方,称王称霸,互相对峙,这种政治局面称为“三国鼎立”。

  • 花千骨导演(花千骨导演都有谁)

    花千骨导演花千骨导演:林玉芬,高林豹,梁胜权。2012年执导电视剧《步步惊情》,2014年执导电视剧《花千骨》,2015年执导电视剧《微微一笑很倾城》2016年执导电视剧《三生三世十里桃花》《醉玲珑》《宸汐缘》。高林豹,香港电影导演会会员,是一位电影及电视剧多方位制作人。1997年,被邀请到中国内地制作电视剧至今。作品有《二月三十》、《无心法师》、《花千骨》《一夜新娘》等。梁胜权,1958年出生于香港,中国香港男导演、监制。

  • 逼两拳是什么意思(逼两拳是啥意思)

    下面内容希望能帮助到你,我们来一起看看吧!逼两拳是什么意思“三五瓶”是喝酒的意思。“三五瓶,逼两拳”均为网络语,最早出现于百度贴吧里的戒赌吧。其中“三五瓶”是百度贴吧戒赌吧吧友相聚的词语。吧里因赌博输的家破人亡的比比皆是,彼此之间难免产生惺惺相惜之感,此词用来表示吧友约定聚会之意。

  • 果冻能缓解便秘吗(果冻别再出去买了)

    木薯粉含有蛋白质、脂肪、维生素A、维生素B等营养成分,还可以预防缓解便秘。搭配酸甜的果粒糕,做一款下午茶小甜品,补充能量,饱腹充饥!

  • 银河系未发现的天体(天文学家在我们的)

    来自科廷大学国际射电天文研究中心节点的天体物理学家NatashaHurley-Walker博士带领团队做出了这个发现。宇宙中开启和关闭的物体对天文学家来说并不陌生--他们称之为“瞬变体”。Hurley-Walker博士称,这些观察结果跟一种被称为“超长周期磁星”的预测天体相匹配。Hurley-Walker博士计划在MWA的庞大档案中寻找更多这些不寻常的天体。MWA主任StevenTingay教授表示,该望远镜是平方千米阵列的先驱仪器--在西澳大利亚和南非建造世界上最大的射电望远镜的全球倡议。

  • 新生儿的正常体温应该是多少度(家长问题新生儿正常体温是多少)

    儿科医生欢迎您=whekys=在医生看来,这是一个傻瓜问题,但很多新手妈妈们却很困惑,今天儿科医生和大家说一下关于体温的事。家长问题儿科医生回复ID:whekys新生儿和我们成人一样,正常的体表温度是36-36.5度,核心温度(直肠)为36.5-37.5度。新生宝宝体温调节中枢功能不成熟,皮下脂肪薄,体表面积相对大,易散热。儿科医生您身边的家庭医生whekys关注并分享做智慧家长儿科医生介绍:科普公众号是为普及儿童养育及就诊知识的。

  • srds是什么意思啊(srds如何解释)

    srds,网络流行语、饭圈常见用语,是“虽然但是”的首字母拼音缩写,用来表示转折。饭圈即粉丝圈子的简称。从前追某个明星或乐队,最多就是买专辑,看演唱会,基本都是散粉,并没有饭圈的概念。近年来,随着粉丝群体扩大,偶像经济不断发展,催生出为偶像买周边、租广告位做宣传、投票以及做慈善公益活动等多种方式。就现在而言,饭圈由追星粉丝自发组成的文娱社群逐渐发展成为有组织、专业化的利益圈层。

  • 洗澡的毛巾可以擦脸吗(答案在这里哦)

    以下内容大家不妨参考一二希望能帮到您!因为洗脸的毛巾上面只是有些螨虫,还有一些细小的霉菌,而洗澡的毛巾上面有很多细菌,各种各样的,不过不足危机健康,所以不能同时一起用。用完之后一定要用84消毒液进行清洗,然后放在外边风吹干,这样用的也放心。

  • 如何加快大蒜生长速度(大蒜快速生长的种植方法)

    如何加快大蒜生长速度整地施肥。在蒜苗长出来以后,除了第一对叶子展开时以外,还要继续喷洒除草剂。到了12月末的时候,浇一次水就可让大蒜安全过冬了。适时收获:收获蒜薹:在蒜薹生长出15厘米-20厘米长的叶鞘时,就可以收获。收获蒜薹的时候,最好不要用手直接抽,这样容易将蒜薹的中间部位弄断;收获蒜头:在收完蒜薹后25天左右,植株基部叶子颜色变黄的时候,就可以收获蒜头了。