标签:

用蒙特卡洛方法算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写点小爬虫程序。

标签:

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

  1. df python 增加数据_【Note】关于玩转数据处理R语言120题的注解(P1-P50)

    前言: 这是关于张敬信老师@张敬信的专栏R&Python数据科学中的文章:玩转数据处理120题(R语言tidyverse版本)的个人自学笔记.敬信老师是我本科期间的恩师之一,非常感谢他提供的学 ...

  2. 如何用python画钝角三角形_使用math.atan2计算线段(Python)之间的角度

    我正在研究空间分析问题,该工作流程的一部分是计算连接线段之间的角度. 每个线段仅由两个点组成,每个点都有一对XY坐标(笛卡尔坐标).这是GeoGebra的图像.我总是对在0到180范围内获得正角度感兴 ...

  3. 最大公约数python语言算法_使用Python求解最大公约数的实现方法

    这篇文章主要介绍了使用Python求解最大公约数的实现方法,包括用Python表示欧几里得算法和Stein算法的求解原理. 1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的 ...

  4. python最大公约数计算_使用Python求解最大公约数的实现方法

    1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数.其计算原理依赖于下面的定理: 定理: gcd(a, b) = gcd(b, a mod b) 证明: a可以表示 ...

  5. Python灰帽子_黑客与逆向工程师的Python编程之道

    收藏自用 链接:Python灰帽子_黑客与逆向工程师的Python编程之道

  6. 用蒙特卡洛方法计算派-python和R语言

    用蒙特卡洛方法算pi-基于python和R语言 最近follow了MOOC上一门python课,开始学Python.同时,买来了概率论与数理统计,准备自学一下统计.(因为被鄙视过不是统计专业却想搞数据 ...

  7. 蒙特卡洛模拟预测股票_使用蒙特卡洛模拟来预测极端天气事件

    蒙特卡洛模拟预测股票 In a previous article, I outlined the limitations of conventional time series models such ...

  8. python Series 添加行_傻傻分不清系列 | Python中各种字符串处理方法

    Python易混淆知识系列:Pandas字符串方法和字符串内建函数,使用Python的一个优势就是字符串处理起来比较容易. Python的初学者在学习字符串内建函数的时候往往会很困惑:字符串的内建函数 ...

  9. python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法

    大家知道,PyCharm是一款著名的Python IDE开发工具,是拥有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具备基本的调试.语法高亮.Project管理.代码跳转.智能提示 ...

最新文章

  1. linux卸载mpfr,Red Hat Linux在安装gcc时遇到的问题汇总
  2. 11Builder(构建器)模式
  3. WebGL Shader 环境搭建
  4. 一文说通Blazor for Server-Side的项目结构
  5. 【.NET Core项目实战-统一认证平台】第十五章 网关篇-使用二级缓存提升性能
  6. NLP复习资料(1)-绪论、数学基础
  7. 谷歌浏览器设置请求头_2020年 谷歌SEO优化 十大技巧(四)
  8. PoolTogether本周Loot Box奖金组合中新增加入ESSAY代币
  9. 【NOIP2012】【Luogu1080】国王游戏(贪心,邻项交换)
  10. php中usc2编码,规则编码说明
  11. 仅此一文让你明白ASP.NET MVC原理
  12. 对象str()与reper()转换为字符串
  13. java实训心得_大学java实训心得总结(共9篇).docx
  14. 什么是大规模集成电路计算机,大规模集成电路是什么
  15. 微信公众号之微信认证
  16. 用RePKG解包.pkg文件【Wallpaper Engine】
  17. 使用gsds绘制基因结构图_原来可以用R这么画基因结构图
  18. 文旅展演专业委员会成功换届,为文旅展演导入新活力
  19. 【论文笔记——DIM】Learning Deep Representations By Mutual Information Estimation and Maximization
  20. 云集微店怎么做 我的第一份生意经

热门文章

  1. squid代理服务+ip代理池
  2. 安卓手机如何设置http代理?
  3. 网络安全应急响应----10、内存分析
  4. Tiled创建六边形地图
  5. 部分opencv中的GPU加速函数(中文翻译)
  6. Zhong__PyCharm配置豆瓣源提升插件、依赖安装速度
  7. ndis拨号软件 linux,嵌入式linux系统下NDIS拨号
  8. 学习笔记——OFDM仿真课设
  9. Flutter路由处理routes技巧
  10. 速度收藏!史上最全Spring 面试题 92 问!【附答案】高清PDF下载