如果不考虑作图,这里的两个例子可以改写成下面的样子:

求圆周率

import random'''
蒙特卡罗模拟投点法计算圆周率
'''# 投点游戏
def play_game():# 圆r = 1.0         # 半径a, b = (0., 0.) # 圆心# 正方形区域边界x_min, x_max = a-r, a+ry_min, y_max = b-r, b+r# 在 正方形 区域内随机投点x = random.uniform(x_min, x_max) # 均匀分布y = random.uniform(y_min, y_max)# 计算点到圆心距离d = (x-a)**2 + (y-b)**2# 根据落在圆内与否,返回1,0(为方便计数)return [0, 1][d<r]# 游戏次数
n = 100000# 蒙特卡罗方法,模拟 n 次游戏
pi = 4.0 * sum((play_game() for _ in range(n))) / n  # 4 倍频率近似于圆周率
print('pi: ', pi)

求定积分

import random'''
蒙特卡罗模拟投点法计算函数 y=x^2在[0,1]内的定积分
'''# 函数 y=x^2
def f(x):return x**2# 投点游戏
def play_game():# 矩形区域边界x_min, x_max = 0, 1y_min, y_max = 0, 1# 在 矩形 区域内随机投点x = random.uniform(x_min, x_max) # 均匀分布y = random.uniform(y_min, y_max)# 根据点落在函数 y=x^2图像下方与否,返回1,0(为方便计数)return [0, 1][y<f(x)]# 游戏次数
n = 100000# 蒙特卡罗方法,模拟 n 次游戏
integral = sum((play_game() for _ in range(n))) / n  # 频率近似于定积分
print('integral: ', integral)

蒙特卡罗方法 python 实现2相关推荐

  1. python蒙特卡洛方法圆周率_蒙特卡罗方法 python 实现

    蒙特卡罗(Monte Carlo)方法的精髓:用统计结果去计算频率,从而得到真实值的近似值. 一.求圆周率的近似值,采用 投点法 import numpy as np import matplotli ...

  2. Python——随机法(蒙特卡罗方法)计算圆周率

    基本概念 蒙特卡罗方法:蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的"曼哈顿计划"计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出.数学家冯·诺伊曼用驰名世界的 ...

  3. 通过Python实现马尔科夫链蒙特卡罗方法的入门级应用

    通过把马尔科夫链蒙特卡罗(MCMC)应用于一个具体问题,本文介绍了 Python 中 MCMC 的入门级应用. GitHub 地址:https://github.com/WillKoehrsen/ai ...

  4. 蒙特卡罗方法—举例说明(C++、python)

    1.什么是蒙特卡洛方法(Monte Carlo method) 蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法.是 ...

  5. Python+numpy实现蒙特卡罗方法估计圆周率近似值

    问题描述:使用蒙特卡罗方法估计圆周率近似值,具体描述详见以前发的文章蒙特.卡罗方法求解圆周率近似值原理与Python实现 技术要点:Python扩展库numpy中的模块random可以批量生成特定范围 ...

  6. python 随机数_python项目实战:实现蒙特卡罗方法,求物体阴影面积

    前言 蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确定性算法.蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算.量子热力学计算.空气动力学计 ...

  7. python 蒙特卡罗_python实现蒙特卡罗方法教程

    蒙特卡罗方法是一种统计模拟方法,由冯·诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确.下面我们将用python实现蒙特卡罗方法. 1.首先我们做一个简单的圆周率 ...

  8. python蒙特卡洛方法圆周率_python实现蒙特卡罗方法教程

    蒙特卡罗方法是一种统计模拟方法,由冯·诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确.下面我们将用python实现蒙特卡罗方法. 1.首先我们做一个简单的圆周率 ...

  9. 蒙特卡洛实现python过程_python项目实战:实现蒙特卡罗方法,求物体阴影面积

    前言 蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确定性算法.蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算.量子热力学计算.空气动力学计 ...

  10. 蒙特卡罗方法的代码实现——python

    蒙特卡罗方法的代码实现--python 简单抽样 Exercise 1. The Monte Carlo method can be used to generate an approximate v ...

最新文章

  1. Maya人物角色行走动画制作视频教程
  2. 《Windows核心编程》---邮槽通信
  3. 5.8.1 创建类型实例
  4. Android横竖屏切换的生命周期
  5. linux rpm找不到命令_Linux实战013:yum工具丢失问题解决(yum安装)
  6. wrong elf class: elfclass32_薇娅倾情推荐亿健ELF跑步机,价格优惠大还为粉丝争取福利! - 消费...
  7. 【Python】排序函数 sort、sorted 对复杂列表排序
  8. STM32 不小心被锁住,解开方法
  9. TensorFlow 的简化接口Scikit Flow
  10. linux文件夹权限_五分钟搞定 Linux 文档全部知识,就看这篇文章
  11. 驴子圈资讯:携程移动端酒店预订首超PC端
  12. Adaptable and Adaptive Hypermedia Systems
  13. 19清明假前一周安排
  14. KVM安装+vlan配置(超详细)
  15. 2022年小游戏----游戏背包系统之自定义填充背包和切换背包页面
  16. 个人能用的短信平台有哪些?看这一篇就够了
  17. 神经网络中前向传播和反向传播解析
  18. 学海无涯!2021年抓住金三银四涨薪好时机,持续更新中
  19. 解决sql update 1292 - Truncated incorrect DOUBLE value:
  20. 手机号国际区号JSON格式另附PHP获取

热门文章

  1. [凯立德]2013夏季卓豪华版2686-2E23J0Dsp1自适应程序懒人包
  2. python logging 模块之TimedRotatingFileHandler 实现每天一个日志文件
  3. 自制的JavaScript NodeTree导航栏,纯练手,附源码
  4. android unit(px,dp,dip,sp)
  5. asp.net ashx处理程序中switch case的替代方案总结
  6. [总结] Min-Max容斥学习笔记
  7. 中标麒麟(linux)下Qt调用python数据转换
  8. Android-界面-布局
  9. 一个导出redis有序集合sorted-sets的shell脚本
  10. C# 将已有程序封装为DLL文件,供其他程序调用