目录

1.原理

2.代码


1.原理

由内嵌正六边形入手

因为这样圆的半径就为正六边形的边长

再取每段弧的中点,连接原来弧的两点,得到更逼近圆的正十二边形

重复这样的做法,就可以得到一个很好的的近似值

2.代码

import math
def calculate_perimeter(t):s=1 #设半径为1,即圆为单位圆n=6 #初始情况为正六边形for i in range(t):s=math.sqrt((s/2)**2+(1-math.sqrt(1-(s/2)**2))**2) #毕达哥拉斯定理n=2*n #每次边都会翻倍print(n*s) #计算单位圆的周长

25次迭代即可得到稳定值

我们只需要计算单位圆的一半周长即可计算

def calculate_pi(t):s=1 #设半径为1,即圆为单位圆n=3 #初始情况为正六边形,求pi只用求半圆的边长for i in range(t):s=math.sqrt((s/2)**2+(1-math.sqrt(1-(s/2)**2))**2) #毕达哥拉斯定理n=2*n #每次边都会翻倍print(n*s) #计算单位圆的周长

Python阿基米德方法计算Pi相关推荐

  1. 内德-米德方法——《数值计算方法》

    <数值计算方法>系列总目录 第一章 误差序列实验 第二章 非线性方程f(x)=0求根的数值方法 第三章 CAD模型旋转和AX=B的数值方法 第四章 插值与多项式逼近的数值计算方法 第五章 ...

  2. 蒙特卡洛 pi C语言,python R 实现蒙特卡洛算法计算pi值

    算法说明 下面是摘抄内容,说明的非常详细,如果不懂就不要往下看了: 蒙特卡洛算法是通过概率来计算pi的值的.对于一个单位为1的正方形,以其某一个顶点为圆心,边为半径在正方形内画扇形(一个1/4的圆形的 ...

  3. 帮我用python写一个程序 输入三个列表数据 使用熵权法计算这三组数据的权重并输出...

    好的,以下是用Python实现熵权法计算三组数据权重的代码: import numpy as np# 定义熵权法函数 def entropy_weight(x):x = np.array(x)# 计算 ...

  4. 考研数学——Python绘制极坐标图,画笛卡尔心形线、玫瑰线、阿基米德螺线、伯努利双纽线(加深图像理解)

    <张宇基础30讲>第一讲的几张极坐标图象,这里用Python来实现一下,加深理解,并学习绘制极坐标图像. 1.笛卡尔心形线 公式: import numpy as np import ma ...

  5. python画笛卡尔心形线方程_考研数学——Python绘制极坐标图,画笛卡尔心形线、玫瑰线、阿基米德螺线、伯努利双纽线(加深图像理解)...

    <张宇基础30讲>第一讲的几张极坐标图象,这里用Python来实现一下,加深理解,并学习绘制极坐标图像. 1.笛卡尔心形线 公式: import numpy as np import ma ...

  6. python求线段长度_python微元法计算函数曲线长度的方法

    计算曲线长度,根据线积分公式: ,令积分函数f(x,y,z) 为1,即计算曲线的长度,将其微元化: 其中 根据此时便可在python编程实现,给出4个例子,代码中已有详细注释,不再赘述 ''' 计算曲 ...

  7. python使用级数pi的近似值_JavaScript与Python计算pi的近似值运行时间对比

    平时用零碎的时间看python的教程,难得有一块空闲时间,用来检验一下成果. 常见的使用编程语言计算π近似值的方法有蒙特卡罗法(由落在正方形内1/4扇形概率为πR2/4R2 = k/n推导 ).定积分 ...

  8. python计算圆周率_python模拟蒙特·卡罗法计算圆周率

    蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...

  9. python计算圆周率近似值_Python——计算PI的近似值,python,圆周率

    计算圆周率近似值 方法: 1.拉马努金法计算圆周率近似值: "数学家拉马努金(Srinivasa Ramanujan)找到了一个无限序列,可以用来生成π的数值近似值: 编写一个函数 ,使用这 ...

最新文章

  1. MyBatis3 xml映射文件配置
  2. C++四种强制类型转换 dynamic_cast,const_cast,static_cast,reinterpret_cast
  3. 现在完成时与过去完成时的区别
  4. android出现anr(application not response)的分析
  5. CVPR2022 | 在线Re-Param | OREPA让AI训练速度进一步加快,精度略胜RepVGG!
  6. hashcode和equals方法详细解析, hashmap对于hashcode方法的使用
  7. python include目录,python pip指定库目录和include目录
  8. 设计模式之UML画图
  9. 尚硅谷视频分享_硅谷的女儿分享了她的“书呆子”故事
  10. 如何用python爬取豆瓣图书 Top 250
  11. 硬件安全技术-5G时代IOT环境下芯片安全风险与挑战
  12. java纳秒级时间戳_golang的time包:秒、毫秒、纳秒时间戳输出方式
  13. 怀孕必读(非常实用)-怀胎的历程及注意事项
  14. Google Hacking 搜索引擎攻击与防范
  15. 新华三网络部署(和思科的区别)
  16. 《VC++深入详解》第三章
  17. 批量将.flac格式转换为.wav等格式
  18. 情人节买花c语言,情人节买花,拼的是品味!
  19. R语言惩罚逻辑回归、线性判别分析LDA、广义加性模型GAM、多元自适应回归样条MARS、KNN、二次判别分析QDA、决策树、随机森林、支持向量机SVM分类优质劣质葡萄酒十折交叉验证和ROC可视化
  20. EnumSet源码分析

热门文章

  1. 《要领:斯坦福校长领导十得》读书摘记
  2. 【unity插件】unity手柄插件Input输入管理插件,兼容各种主流手柄
  3. 《程序员的数学》第2章 逻辑——真与假的二元世界,知识点
  4. 有道云笔记的快速剪报
  5. Java自带的排序函数归纳总结
  6. php中paypal/支付宝/微信退款接口封装
  7. 数字式仪表的识别yolov3+crnn
  8. Ethereum EVM简介
  9. 【Javaweb】动态web开发核心Servlet的原始真解
  10. 【产品设计】产品经理的三部曲:当前版本、下个版本、需求池