蒙特卡洛python求解派_用蒙特卡洛方法计算派-python和R语言

标签:

用蒙特卡洛方法算pi-基于python和R语言

最近follow了MOOC上一门python课,开始学Python。同时,买来了概率论与数理统计,准备自学一下统计。(因为被鄙视过不是统计专业却想搞数据分析)

有趣的是书里面有一块讲蒲丰投针计算Pi,这是一种随机模拟法,也就是蒙特卡洛法。蒲丰投针之于我太难,暂时没想到怎么用计算机模拟这一过程。

python课中,老师也提到用随机模拟法,也就是蒙特卡洛法(MonteCarlo),用计算机模拟几千次实验,计算pi的近似值。好巧。

就拿python课中的方法,来近似计算pi,分别用python和R实现一下。

至于实验是怎样的,截图老师的PPT。

我用的是python 3

python代码:

from random import random

from math import sqrt

from time import clock

darts=2**22

hist=0

clock()

for i in range(1,darts):

x,y=random(),random()

dist=sqrt(x**2+y**2)

if dist<=1.0:

hist=hist+1

pi=4*(hist/darts)

print(‘pi is %s‘%pi)

print(‘elaspe is %ss‘%clock())

python运行结果:

pi is 3.143444061279297

elaspe is 85.991785

R 代码:

#蒙特卡洛方法求pi

hist

darts

start

for (i in 1:darts){

x

if(sqrt(x^2+y^2)>1) next

hist=hist+1

}

pi

proc.time()-start

print(paste0(‘pi is ‘,pi))

R运行结果:

> proc.time()-start

用户 系统 流逝

31.537 2.477 34.153

> print(paste0(‘pi is ‘,pi))

[1] "pi is 3.14076137542725"

总结:R和python都挺好用的,下一步准备试着用python写点小爬虫程序。

标签:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值