【老生谈算法】matlab实现蒙特卡罗定积分源码——蒙特卡罗定积分
基于matlab的蒙特卡罗定积分的实现
1、算法详解:
0 引言
随着电子计算的出现和发展,近年来用概率模型来作近似计算的方法得到了很大的发展,即蒙特卡罗(Monte—Garlo)方法.它是一种采用统计抽样理论近似的求解数学与物理问题的方法,它既可以用来研究概率问题,也可以用来解决非概率问题.蒙特卡罗法已被广泛地运用到各个领域中,如高维数学问题求解、医学技术中的诊断识别、大型系统的可靠性分析等.一般蒙特卡罗方法在数学中最常见的应用就是蒙特·卡罗积分.对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法能够提供一种有效而可行的解决方法.
1 蒙特卡罗方法的基本原理
用蒙特卡罗方法解决数学分析问题时,基本思想是:首先建立与描述该问题有相似性的概率模型,利用这些相似把使该模型的一些数字特征(如概率或均值)与数学分析的解答(如积分值或微分方程的解)联系起来;然后对该模型进行随机模拟或统计抽样;最后利用所得的结果求出这些特征的统计估计值作为原来问题的近似解.蒙特卡罗方法计算的结果收敛的理论依据来自于大数定律,且结果渐进地服从正态分布的理论依据是中心极限定理.
本文将对蒙特卡罗方法计算定积分,并用matlab加以实现.
2 蒙特卡罗方法求定积分的一个实例
2.1 采用均匀随机数的蒙特卡罗方法计算和 matlab 实现
2.2 matlab生成随机掷点效果图