蒙特卡罗方法 python 实现2
如果不考虑作图,这里的两个例子可以改写成下面的样子:
求圆周率
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相关推荐
- python蒙特卡洛方法圆周率_蒙特卡罗方法 python 实现
蒙特卡罗(Monte Carlo)方法的精髓:用统计结果去计算频率,从而得到真实值的近似值. 一.求圆周率的近似值,采用 投点法 import numpy as np import matplotli ...
- Python——随机法(蒙特卡罗方法)计算圆周率
基本概念 蒙特卡罗方法:蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的"曼哈顿计划"计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出.数学家冯·诺伊曼用驰名世界的 ...
- 通过Python实现马尔科夫链蒙特卡罗方法的入门级应用
通过把马尔科夫链蒙特卡罗(MCMC)应用于一个具体问题,本文介绍了 Python 中 MCMC 的入门级应用. GitHub 地址:https://github.com/WillKoehrsen/ai ...
- 蒙特卡罗方法—举例说明(C++、python)
1.什么是蒙特卡洛方法(Monte Carlo method) 蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法.是 ...
- Python+numpy实现蒙特卡罗方法估计圆周率近似值
问题描述:使用蒙特卡罗方法估计圆周率近似值,具体描述详见以前发的文章蒙特.卡罗方法求解圆周率近似值原理与Python实现 技术要点:Python扩展库numpy中的模块random可以批量生成特定范围 ...
- python 随机数_python项目实战:实现蒙特卡罗方法,求物体阴影面积
前言 蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确定性算法.蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算.量子热力学计算.空气动力学计 ...
- python 蒙特卡罗_python实现蒙特卡罗方法教程
蒙特卡罗方法是一种统计模拟方法,由冯·诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确.下面我们将用python实现蒙特卡罗方法. 1.首先我们做一个简单的圆周率 ...
- python蒙特卡洛方法圆周率_python实现蒙特卡罗方法教程
蒙特卡罗方法是一种统计模拟方法,由冯·诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确.下面我们将用python实现蒙特卡罗方法. 1.首先我们做一个简单的圆周率 ...
- 蒙特卡洛实现python过程_python项目实战:实现蒙特卡罗方法,求物体阴影面积
前言 蒙特卡罗方法是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.与它对应的是确定性算法.蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算.量子热力学计算.空气动力学计 ...
- 蒙特卡罗方法的代码实现——python
蒙特卡罗方法的代码实现--python 简单抽样 Exercise 1. The Monte Carlo method can be used to generate an approximate v ...
最新文章
- Maya人物角色行走动画制作视频教程
- 《Windows核心编程》---邮槽通信
- 5.8.1 创建类型实例
- Android横竖屏切换的生命周期
- linux rpm找不到命令_Linux实战013:yum工具丢失问题解决(yum安装)
- wrong elf class: elfclass32_薇娅倾情推荐亿健ELF跑步机,价格优惠大还为粉丝争取福利! - 消费...
- 【Python】排序函数 sort、sorted 对复杂列表排序
- STM32 不小心被锁住,解开方法
- TensorFlow 的简化接口Scikit Flow
- linux文件夹权限_五分钟搞定 Linux 文档全部知识,就看这篇文章
- 驴子圈资讯:携程移动端酒店预订首超PC端
- Adaptable and Adaptive Hypermedia Systems
- 19清明假前一周安排
- KVM安装+vlan配置(超详细)
- 2022年小游戏----游戏背包系统之自定义填充背包和切换背包页面
- 个人能用的短信平台有哪些?看这一篇就够了
- 神经网络中前向传播和反向传播解析
- 学海无涯!2021年抓住金三银四涨薪好时机,持续更新中
- 解决sql update 1292 - Truncated incorrect DOUBLE value:
- 手机号国际区号JSON格式另附PHP获取
热门文章
- [凯立德]2013夏季卓豪华版2686-2E23J0Dsp1自适应程序懒人包
- python logging 模块之TimedRotatingFileHandler 实现每天一个日志文件
- 自制的JavaScript NodeTree导航栏,纯练手,附源码
- android unit(px,dp,dip,sp)
- asp.net ashx处理程序中switch case的替代方案总结
- [总结] Min-Max容斥学习笔记
- 中标麒麟(linux)下Qt调用python数据转换
- Android-界面-布局
- 一个导出redis有序集合sorted-sets的shell脚本
- C# 将已有程序封装为DLL文件,供其他程序调用