【声明】本博文的大部分内容摘录于网络,本人按照自己的思维习惯和文字风格进行了重新整理以便于理解和记忆。

鉴于篇幅,我打算先对蒙特卡罗分析的基本思想和历史渊源做一下简单的梳理,然后在下一篇博文中介绍SaberRD软件中的蒙特卡罗分析。

蒙特卡罗(Monte Carlo) 方法, 又称随机抽样法,统计试验法或随机模拟法。是一种用计算机模拟随机现象,通过仿真试验,得到实验数据,再进行分析推断,得到某些现象的规律或某些问题的解的方法。

蒙特卡罗方法的基本思想是,为了求解某一问题,首先建立一个与求解有关的概率模型或随机过程,使它的参数等于所求问题的解,然后通过对模型或过程的观察或抽样试验来计算所求参数的统计特征,最后给出所求解的近似值。

概率统计是蒙特卡罗方法的理论基础,其手段是随机抽样或随机变量抽样。对于那些难以进行的或条件不满足的试验而言,这是一种极好的替代方法。蒙特卡罗方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题,很少受几何条件限制,收敛速度与问题的维数无关。

Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率“。19世纪,法国科学家蒲丰(Buffon)提出了用投针试验计算圆周率π值的问题。阮一峰的博客:蒙特卡罗方法入门介绍了另一种计算圆周率π值的方法,也让我们更容易地理解蒙特2卡罗分析是如何通过建立概率模型独辟蹊径实现乾坤大挪移,求解出复杂问题的近似解。

蒙特卡罗分析,本质上是一种使用随机抽样统计来估算数学函数的计算方法。它需要一个良好的随机数源。为了减少随机抽样统计方法带来的误差,必须重复进行很多次实验,随机抽取样本数量越多,计算结果也就会越精确。所以直到现代20世纪40年代以后计算机技术的出现和飞速发展,才使得用计算机模拟概率过程,实现多次模拟试验并统计计算结果,得出问题的无限近似解成为真正可能。

在历史上,也正是第二次世界大战中美国研制原子弹的”曼哈顿计划“,提出了开发和应用具备大存储量和高运算速度的大型计算机的要求,这也成为当时推动计算机技术发展的重要动力。在原子弹工程研究的初期,冯·诺依曼和乌拉姆教授两人把他们所从事的秘密工作—对裂变物质的中子随机扩散进行直接模拟—以摩纳哥国的世界闻名赌城蒙特卡罗(Monte Carlo)作为秘密代号来称呼。用赌城名比喻随机模拟,风趣又贴切,很快得到了广泛接受,此后,人们便把这种计算机随机模拟方法称为蒙特卡罗方法。

更多关于蒙特卡罗分析的数学和应用背景,建议阅读蒙特卡罗方法及其应用一文。

SaberRD之蒙特卡罗分析(一)的更多相关文章

  1. SaberRD之瞬态分析

    瞬态分析(Transient Analysis)也叫做暂态分析,一般用于分析含有储能器件的电路在换路后发生的过渡状态,比如分析RLC电路在接通.断开.改接以及参数发生改变和电源突变时,电路的电压电流从 ...

  2. SaberRD之交流分析

    交流分析(AC Analysis)也叫做小信号(Small-Signal)分析,也即分析电路的小信号频率响应,更严谨的定义是:分析工作在直流偏置电压下的非线性电路对于一定频率范围内的输入小信号的系统响 ...

  3. Multisim的电路分析方法

    Multisim的电路分析方法:主要有直流工作点分析,交流分析,瞬态分析,傅里叶分析,噪声分析,失真分析,直流扫描分析, 灵敏度分析,参数扫描分析,温度扫描分析,零一极点分析,传递函数分析,最坏情况分 ...

  4. PSpiceAA-高级分析例程

    一.高级分析应用例程 1.1.例程电路原理图(同向放大电路) 器件模型使用PSpice-ELEM库中的模型. 1..1.1.仿真测试波形图 1.2.灵敏度分析 1.2.1菜单选择:PSpice-> ...

  5. PMP--综合考试知识点,持续更新中。。。

    1]盈亏平衡点=固定成本/(销售价格-可变成本). 2]项目管理(Project Management): 就是把各种知识.技能.手段和技术应用于项目活动之中,以达到项目的要求. 3]有效的管理要求项 ...

  6. [转]SPICE仿真软件基础(整理)

    现在常用的SPICE仿真软件为方便用户使用都提供了较好的用户界面,在用仿真库中的元器件连成原理图后就可以进行仿真(当然要设置必要的仿真参数),但实际上只是用原理图自动产生了SPICE的格式语句,还是要 ...

  7. 从P6 EPPM 8 R3 到P6 EPPM 16 R1 有哪些改变?

    Product 特征 First Release for Feature P6 EPPM 通过编辑活动标识替换关系.当你需要修改一个关系,你不需要删除现有的关系,并作出一个新的,你可以简单地编辑活动的 ...

  8. 从PMP培训归来,跟大家聊聊做项目的套路

    管理也是一些套路的传承,很多人说不去学专门的管理,照样把工作做得很好.是的,不是散打乱打就不能赢,只是会吃点亏而已.如果你有了套路在心中,那么必定会让自己车到山前开路,让事情更好办. 所以,我去学了几 ...

  9. PMP模拟考试-2

    1. Increasing resources on the critical path activities may not always shorten the length of the pro ...

随机推荐

  1. UVa 10360 - Rat Attack

    题目大意:有一个1025*1025的矩阵,每个矩阵元素保存这个点上老鼠的数量.现有一种气体炸弹,能覆盖“半径”为d的矩形,在这个范围内可以消灭所有的老鼠,让你找出合适的放置炸弹的位置使的消灭的老鼠数量 ...

  2. 笔记整理--玩转robots协议

    玩转robots协议 -- 其他 -- IT技术博客大学习 -- 共学习 共进步! - Google Chrome (2013/7/14 20:24:07) 玩转robots协议 2013年2月8日北 ...

  3. 1833: [ZJOI2010]count 数字计数

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 2951  Solved: 1307[Submit][ ...

  4. python中numpy对函数进行矢量化转换

    在对numpy的数组进行操作时,我们应该尽量避免循环操作,尽可能利用矢量化函数来避免循环. 但是,直接将自定义函数应用在numpy数组之上会报错,我们需要将函数进行矢量化转换. def Theta(x ...

  5. 如何设置打开jsp页面速度加快?

    1.

  6. fastreport代码转

    2016-07-08 //打印主从表数据 string file = Application.StartupPath @"\MasterDetail.frx"; rptMaster ...

  7. pace.js原理简介

    简介: 不少童鞋可能都使用过pace.js:http://github.hubspot.com/pace/docs/welcome/ 只要在页面上引入pace.js和相关的css,并不需要对业务逻辑做 ...

  8. C++第一天学习

    代码1 #include<iostream> int main(){ int a; std::cout << "hello c++" << st ...

  9. spring mvc redirect设置FlashAttribute

    在Controller中设置: @RequestMapping("/redir") public String redir(Model model, RedirectAttribu ...

  10. H.264转码加速:NVENC大战Quick Sync

    GPU加速技术对普通消费者最直观的影响就是视频转码应用上了,NVIDIA..AMD以及Intel都有自己的加速技术,而在新一代CPU和GPU架构上,三方都有更新的技术方案.<br>< ...