楼主: 一亿两白银
2045 4

[问答] 用python实现浦丰投针实现,结果有问题? [推广有奖]

  • 8关注
  • 0粉丝

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
72 个
通用积分
0.0605
学术水平
8 点
热心指数
8 点
信用等级
7 点
经验
3227 点
帖子
219
精华
0
在线时间
197 小时
注册时间
2012-12-10
最后登录
2020-4-16

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

def buffon(n,l=0.8,a=1):


    k=0
    theta=[random.uniform(0,np.pi) for i in range(n)]
    x=[random.uniform(0,a/2) for i in range(n)]
    for i in range(n):
        if x[i]<=(1/2*np.sin(theta[i])):
            k+=1
    return k,n,2*n*l/(k*a)
buffon(100000)


###输出结果为2.519。。。。

正常结果不是应该在3.14附近的吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Uniform random range Theta

沙发
没意思教教众乙 发表于 2018-12-22 10:04:40 来自手机 |只看作者 |坛友微信交流群
一亿两白银 发表于 2018-12-22 08:35
def buffon(n,l=0.8,a=1):


您好,我认为应当做如下的修改<br>
....<br>
if x &lt;= (0.8/2*np.sin(theta)):<br>
....

使用道具

藤椅
没意思教教众乙 发表于 2018-12-22 10:05:58 来自手机 |只看作者 |坛友微信交流群
没意思教教众乙 发表于 2018-12-22 10:04
您好,我认为应当做如下的修改
....
if x &amp;lt;= (0.8/2*np.sin(theta)):
if x &lt;= (0.8/2*np.sin(theta))

使用道具

板凳
没意思教教众乙 发表于 2018-12-22 10:10:40 来自手机 |只看作者 |坛友微信交流群
没意思教教众乙 发表于 2018-12-22 10:04
您好,我认为应当做如下的修改
....
if x &amp;lt;= (0.8/2*np.sin(theta)):
似乎不能正常显示方括号,但是按照您原来的代码,无法运行。
154544464071238.jpeg

使用道具

报纸
一亿两白银 学生认证  发表于 2018-12-22 10:21:22 |只看作者 |坛友微信交流群
没意思教教众乙 发表于 2018-12-22 10:10
似乎不能正常显示方括号,但是按照您原来的代码,无法运行。
对的,我搞错了,应该是0.8而不是1,感谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 23:04