蒙特卡罗方法 (Python)

 1.方法介绍

2.方法模拟步骤

3.方法应用

1、估算圆周率(Π)

想象扔飞镖的场景,在一个正方形里扔飞镖,扔到1/4圆里的次数是多少?

得到以下公式:

        S(1/4圆)  / S(正方形)= 扔进1/4圆里的次数 / 总次数

→    Π/4 / 1 = 扔进1/4圆里的次数 / 总次数

→   圆周率(Π)=  4 * 扔进1/4圆里的次数 / 总次数

代码如下:

import random
numberOfTrails = int(1e9)#科学技术法
numberOfHits = 0
for i in range(numberOfTrails):
x = random.random()
y = random.random()
if x*x + y*y <= 1:
numberOfHits += 1
pi = 4*numberOfHits/numberOfTrails
print(pi)

从1/4圆到一整个圆→使结果更精确,代码如下

蒙特卡罗方法在生活中还有其他应用,比如积分的计算,大家感兴趣的可以私信作者哦,也欢迎在评论区留言 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值