前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >圆周率日——Pi Day

圆周率日——Pi Day

作者头像
阿信老师CAE
发布2022-05-17 16:45:34
6500
发布2022-05-17 16:45:34
举报
文章被收录于专栏:ABAQUS二次开发

”Pi Day is celebrated on March 14th (3/14) around the world. Pi (Greek letter “π”) is the symbol used in mathematics to represent a constant — the ratio of the circumference of a circle to its diameter — which is approximately 3.14159. Pi Day is an annual opportunity for math enthusiasts to recite the infinite digits of Pi, talk to their friends about math, and to eat pie. “ https://www.piday.org/

图片来源 https://www.piday.org/

圆周率π有很多的计算方法,比如圆的周长与直径的比值,也等于圆形之面积与直径平方之比,……

根据不同的计算方法可以写出很多有意思的程序来,记得阿信在早些年学习Python的时候就遇到这样的题目,虽然现在这些东西早已成了大路货,不过回忆起来还是很有意思。采用蒙特卡洛方法,依据是π等于圆形之面积与直径平方之比。具体的实现方式是通过生成随机数,将落在圆内的随机点数量除以总的随机点数量得到π值,计算精度与总的随机点生成次数有关。为了减少计算量,可取圆的1/4,进行随机点的投放。

代码如下,很简单。

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 13 12:59:32 2021

@author: A Xin
@email:axin_cae@163.com
"""

from random import random
num_in_circle = 0.0
total_num = 1000000
for i in range(total_num):
    x, y = random(), random()
    dist = pow(x**2.0 + y**2.0, 0.5)
    if dist <= 1.0:
        num_in_circle += 1
pi_value = 4.0*(num_in_circle / total_num)
print pi_value

阿信

3.13 ------>>> 3.14

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ABAQUS二次开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档