python计算正方形边长_计算圆周率,使用点模拟法,如何从以下python代码中看出正方形的边长?...

满意答案

jopn6595

2018.02.01

采纳率:58%    等级:8

已帮助:762人

'''

蒙特卡洛方法实现计算圆周率的方法,其思想是假设我们向一个正方形的标靶上随机投掷飞镖,靶心在正中央,标靶的长和宽都是2 英尺。同时假设有一个圆与标靶内切。圆的半径是1英尺,面积是π平方英尺。如果击中点在标靶上是均匀分布的(我们总会击中正方形),那么飞镖击中圆的数量近似满足等式:

飞镖落在圆内的次数/飞镖落在标靶内的总次数=π/4

因为环包含的面积与正方形面积的比值是π/4。

因为环所包含的面积与正方形面积的比值是π/4。

我们可以用这个公式和随机数产生器来估计π的值。

这种采用了随机(随机投掷)的方法称为蒙特卡洛(Monte Carlo)方法。

写程序时,一般默认采用单位圆来计算.R=1,正方形边长a=2.圆心即坐标轴原点.

'''

for i in range(1,DARTS):   //运算次数 DARTS=1200

x,y = random(),random()   //生成点坐标位置

dist = sqrt(x**2 + y**2)   //计算此点与坐标轴原点(即圆心)的距离

if dist <=1.0:    //与原点的距离小1,即在圆的半径内.该点落在单位圆内.

hits = hits + 1     //落在圆内的点数合计

pi = 4 * (hits/DARTS)追问: 那正方形的边长是从哪里看出来的?

追答:这个问题,一般都是用单位圆来计算.而单位圆与正方形内切.如果你非要纠结正方形的边长,那么,因为,圆的半径是1,直径是2,所以,正方形的边长为2.这个不重要的.本质是要理解圆与正方形的关系,落点的不同.建议你百度下 蒙特卡洛方法计算圆周率 ,好好理解下问题本质吧.

10分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值