蒙特卡洛方法——玩具例子(2)定积分
来源:互联网 发布:淘宝网店怎样上架宝贝 编辑:程序博客网 时间:2024/04/30 23:35
蒙特卡洛方法可以计算任意一个积分的值。
下面以求
# -*- coding:utf8 -*-import numpy as npimport matplotlib.pyplot as pltdef interplote_exp(up, down, N): x = np.random.uniform(up, down, (N,)) y = np.random.uniform(up, down, (N,)) incircle = np.sum(y - np.power(x, 2) <= 0.0) error = 1.0/3 - incircle * 1.0/N ###################################### fx = np.linspace(0.0, 1.2, 3600) fy = np.power(fx, 2) ###################################### plt.fill_betweenx(fy, 1.0, fx, where=fx <= 1.0, facecolor='red') rx = np.asarray([0.0, 1.0, 1.0, 0.0, 0.0], dtype = np.float) ry = np.asarray([0.0, 0.0, 1.0, 1.0, 0.0], dtype = np.float) plt.plot(rx,ry, color="g") plt.plot([0.0, 1.2],[0.0, 0.0], color="b") plt.plot([0.0, 0.0],[0.0, 1.2], color="b") plt.plot(fx,fy, color="b") cl = ["b" if j - i**2 <= 0.0 else "r" for i, j in zip(x,y)] plt.scatter(x, y, c=cl) plt.text(0.2, 1.4, s = r"$\int_{0}^{1} x^2 dx=\frac{1}{3}$") plt.text(0.2, 1.2, s = "error={error}, N={N}".format(N=N, error=error)) plt.show()if __name__ == "__main__": interplote_exp(0.0, 1.0, 10000) pass
输出的图示为:
参考:http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html
0 0
- 蒙特卡洛方法——玩具例子(2)定积分
- 蒙特卡洛方法——玩具例子(1)圆周率
- 蒙特卡洛方法与定积分计算
- 数学笔记13——定积分
- C语言实现定积分求解方法
- 多态的方法求定积分
- 定积分应用解题方法归纳
- 基于蒙特卡罗方法的定积分
- 数学笔记17——定积分的应用2(体积)
- 漫步微积分二十四——定积分引言
- 漫步微积分三十——定积分的性质
- 漫步微积分三十一——定积分的直观含义
- 求解定积分的并行算法——基于MPI
- 定积分
- 定积分
- 高等数学:第五章 定积分(2)换元积分法 分部积分法 广义积分
- 地狱飞龙(定积分 杭电排位赛-2)
- 计算积分的方法 —— 分布积分
- 线程和进程
- android MediaPlayer的一些用法
- Java图片渲染,加水印,旋转,透明....
- HUNK分布式拒绝服务攻击软件代码
- 打工还是创业?思路决定出路!
- 蒙特卡洛方法——玩具例子(2)定积分
- 11.10
- (转)sql优化
- 学习设计模式(1):单例模式
- sort模板
- 计算机网络基本用语
- Hadoop+zookeeper集群部署
- Html
- 内存发展史