• 基于蒙特卡罗积分法对于无穷区间进行定积分。

文章目录

  • 示例一.
  • 示例二.

示例一.

  • 定积分】∫−∞∞x⋅12π⋅exp⁡(−x22)⋅dx\int_{-\infin}^{\infin}x\cdot\frac1{\sqrt{2\pi}}\cdot\exp\Big(\frac{-x^2}2\Big)\cdot dx∫−∞∞​x⋅2π​1​⋅exp(2−x2​)⋅dx
  • 思路】取 f(x)=xf(x)=xf(x)=x,那么剩余部分恰为定义在区间 (−∞,∞)(-\infin,\infin)(−∞,∞) 上的标准正态分布的密度函数:p(x)=12π⋅exp⁡(−x22)p(x)=\frac1{\sqrt{2\pi}}\cdot\exp\Big(\frac{-x^2}2\Big)p(x)=2π​1​⋅exp(2−x2​)所以我们按照标准正态分布在区间 (−∞,∞)(-\infin,\infin)(−∞,∞) 进行抽样得到 x1,x2,⋯,xnx_1,x_2,\cdots,x_nx1​,x2​,⋯,xn​ 后计算函数均值作为上述定积分的估计值即可。
  • 从概率论知识出发,上述定积分等价于计算标准正态分布的均值,我们可以预见 —— 蒙特卡罗积分的数值计算结果会收敛到 000 附近。
  • Python代码以及绘图结果如下:
# -*- coding: utf-8 -*-
"""
Spyder EditorThis is a temporary script file.
"""
# In[]
import numpy as np
import matplotlib.pyplot as pltdef func(x):return x# In[]
n = np.linspace(10,1000,1000).astype(int)res = np.zeros(len(n))# In[]
for i in range(len(n)):x = np.random.randn(1,n[i])x = func(x)res[i] = np.mean(x)# In[]
plt.plot(n,res)

示例二.

  • 定积分】∫−∞∞x2⋅exp⁡(−x22)⋅dx\int_{-\infin}^{\infin}x^2\cdot\exp\Big(\frac{-x^2}2\Big)\cdot dx∫−∞∞​x2⋅exp(2−x2​)⋅dx
  • 思路】改写上述定积分:∫−∞∞2πx2⋅12π⋅exp⁡(−x22)⋅dx\int_{-\infin}^{\infin}\sqrt{2\pi}x^2\cdot\frac1{\sqrt{2\pi}}\cdot\exp\Big(\frac{-x^2}2\Big)\cdot dx∫−∞∞​2π​x2⋅2π​1​⋅exp(2−x2​)⋅dx因此定义 f(x)=2πx2f(x)=\sqrt{2\pi}x^2f(x)=2π​x2 即可,其余过程和示例一完全相同。
  • Python代码以及绘图结果如下所示:
# -*- coding: utf-8 -*-
"""
Spyder EditorThis is a temporary script file.
"""
# In[]
import numpy as np
import matplotlib.pyplot as pltdef func(x):const = np.sqrt(2*np.pi)return const*(x**2)# In[]
n = np.linspace(10,1000,1000).astype(int)res = np.zeros(len(n))# In[]
for i in range(len(n)):x = np.random.randn(1,n[i])x = func(x)res[i] = np.mean(x)# In[]
plt.plot(n,res)


  • 个人经验来看,有限区间内以均匀分布作为 p(x)p(x)p(x) 为妙,无限区间可以考虑符合要求的正态分布或指数分布等。

【Practical】蒙特卡罗无穷区间积分相关推荐

  1. 考研高数考纲增加内容(无穷区间-无界函数 反常积分比较判别法_比较判别法的极限形式)(无穷级数积分判别法)

    文章目录: 1.考纲改变具体内容 2.无穷区间.无穷函数小结 3.补充不等式

  2. 利用java求积分(定积分和无穷限积分)

    [0]README 0.1)本文部分文字描述转自或译自 https://en.wikipedia.org/wiki/Simpson%27s_rule和 https://en.wikipedia.org ...

  3. matlab计算积分负无穷到正无穷,无穷限积分的Matlab实现(转)

    计算无穷限积分(广义积分)的函数,用Matlab实现,发给大家参考. 1.函数quadFromInf用于计算从负无穷大到一个确定值a的积分. 2.函数quadToInf用于计算从一个确定值a到正无穷大 ...

  4. 阿当姆斯校正程序代码MATLAB,全区间积分的阿当姆斯预报校正法(常微分方程组的求解)...

    /* 代码作者:不详 代码整理者:设计天下 MySDN网站 算法天下工作室 功能:全区间积分的阿当姆斯预报校正法(常微分方程组的求解) */ #include "stdio.h" ...

  5. Practical GameMaker Projects 免积分下载

    图书说明: 制作十个简单,休闲的游戏,并沿途学习大量的GML编码.这些游戏中的每一种都是您在有一两分钟免费时可以玩的游戏,非常适合在PC上玩,或者导出到HTML5或Android. Practical ...

  6. MATLAB中积分命令【计算无穷限积分(广义积分)的函数】

    1.函数quadFromInf用于计算从负无穷大到一个确定值a的积分. 2.函数quadToInf用于计算从一个确定值a到正无穷大的积分. ------------------------------ ...

  7. 高等数学公式大全(二)

    一元函数积分学的概念与计算 章节概括 概念 不定积分 原函数与不定积分 原函数(不定积分存在定理) 定积分 定积分概念 定积分存在定理 定积分性质 变限积分 变限积分的概念 变限积分的性质 变限积分的 ...

  8. Part 12(2) 含参广义积分(含参无穷积分和瑕积分)

    含参积分是一类包含积分结构的函数,但积分变量不是函数自变量 文章目录 3. 含参变量广义积分 3.1. 含参积分相关理论 3.1.1. 含参积分常义积分的定义 3.1.2. 含参常义积分的分析性质 3 ...

  9. 无穷积分的符号计算及其MATLAB程序

    无穷区间上的反常积分有三种基本类型,如下: 1. 可以用MATLAB程序: F1=int ( f(x), x, a, +int) 计算 2. 可以用MATLAB程序: F1=int ( f(x), x ...

最新文章

  1. SAP Batch Management 批次主数据中classification视图中GR Date没有被更新?
  2. celery java_Celery详解
  3. 定义列表的特点html,HTML的列表表格表单知识点
  4. java演练 数组的逆序文字玩法 你是猪才怪
  5. 光电显示未连接服务器,T106串口服务器解决方案
  6. 腾讯PHP工程师面试题两份
  7. 应用随机过程_《常见随机过程》(目录)
  8. 智能蓝牙技术原理及设计方案集锦
  9. R中输出常见位图和矢量图格式总结
  10. 阿里巴巴校招实习生一面记录
  11. 1192: 删除记录(结构体专题)
  12. 通过阿里云API 身份证图片或拍身份证 读取身份证正反面信息
  13. JVM调优参数大全及G1GC调优
  14. 清默网络——IPV6的地址详解
  15. 计量经济学学习笔记:多重共线性、异方差、自相关
  16. 简练软考知识点整理-创建工作分解结构过程
  17. MFC中英文切换实现过程中遇到的问题
  18. 墨者学院刷题笔记——SQL手工注入漏洞测试(MongoDB数据库)
  19. Android Studio开发蓝牙应用(二)
  20. html5鼠标滑过图片 图片弹出层,纯CSS3鼠标滑过图片遮罩层动画特效

热门文章

  1. 我在朝鲜做生意的一段经历(转贴震憾长文)
  2. 通过autofac教你彻底明白依赖解耦(二)理论结合实践 - 大侠.Net
  3. [读史思考] 田单火牛阵是真实的吗?
  4. 天天模拟器显示获取服务器失败,天天模拟器无法联网怎么办-天天模拟器不能上网的解决方法 - 河东软件园...
  5. python无敌了_斗图神器——python让你斗图无敌
  6. 登录页面测试用例设计方法
  7. Vue使用vue-print-nb打印,并去除页眉页脚,打开打印窗口自动打印
  8. 暗流涌动,为何​数据科学家迫不及待地辞职、换工作?
  9. 16细分单路步进电机驱动
  10. YOLOv5代码阅读笔记