基于matlab的蒙特卡罗积分的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概率论与数理统计论文
基于matlab的蒙特卡罗
定积分的实现
班级:
姓名:
基于matlab的蒙特卡罗定积分的实现
摘要:在对蒙特卡罗方法概念学习的基础上,利用计算机产生了随机数序列.在此基础上,研究了蒙特卡罗积分,并应用matlab加以实现.
关键词:蒙特卡罗;MATLAB;定积分
0 引言
随着电子计算的出现和发展,近年来用概率模型来作近似计算的方法得到了很大的发展,即蒙特卡罗(Monte—Garlo)方法.它是一种采用统计抽样理论近似的求解数学与物理问题的方法,它既可以用来研究概率问题,也可以用来解决非概率问题.蒙特卡罗法已被广泛地运用到各个领域中,如高维数学问题求解、医学技术中的诊断识别、大型系统的可靠性分析等.一般蒙特卡罗方法在数学中最常见的应用就是蒙特·卡罗积分.对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法能够提供一种有效而可行的解决方法.
1 蒙特卡罗方法的基本原理
用蒙特卡罗方法解决数学分析问题时,基本思想是:首先建立与描述该问题有相似性的概率模型,利用这些相似把使该模型的一些数字特征(如概率或均值)与数学分析的解答(如积分值或微分方程的解)联系起来;然后对该模型进行随机模拟或统计抽样;最后利用所得的结果求出这些特征的统计估计值作为原来问题的近似解.蒙特卡罗方法计算的结果收敛的理论依据来自于大数定律,且结果渐进地服从正态分布的理论依据是中心极限定理.
本文将对蒙特卡罗方法计算定积分,并用matlab 加以实现.
2 蒙特卡罗方法求定积分的一个实例
2.1 采用均匀随机数的蒙特卡罗方法计算和 matlab 实现 为了使用蒙特卡罗方法求该积分dx x I ⎰
=
1
3,首先选定一个矩
形区域 D =[0,1;O ,1].然后抽取n 个随即点的坐标()i i ηξ,(i=1,2,⋯,n),他们服从区域D 上的二维均匀分布.计算落在区域D 内的随机点数设为m ,即满足0≤i η≤
3
x
.则由强大数定律,要求的定积
分近似的等于两个区域随机落点的比值 与矩形面积的乘积. matlab 程序及其运行结果: 2.2 matlab 生成随机掷点效果图 x1=rand(1,2000); y1=rand(1,length(x1)); x=0:0.01:1; y2=0;y3=x.^3;
subplot(2,1,1),plot(x,y2,'k',x,y3,'k',x1,y1,'.') xlabel('x 轴'),ylabel('y 轴') m=1;
for j=10:10:30000;
a(m)=j;
x0=rand(1,j);
y0=rand(1,length(x0));
s=0;n=length(x0);
for i=1:n y4(i)=0;y5(i)=x0(i).^3; if y0(i)
end
p(m)=s/n;m=m+1;
end
t=mean(p);
t
xx=0;length(x0);yy=1/4;
subplot(2,1,2),plot(a,p,'b',xx,yy,'b')
t ≈ 0.2499
2.3 matlab 均匀随机数法计算定积分
由以上运行结果可知,均匀随机数法求的定积分
dx x I ⎰
=
1
3≈ 0.2499
由定积分的几何意义可知,它是三次曲线3
x y =与直线y = 0
所围的平面图形的面积,由微积分基本公式可知,
4
1414
1
01
03===⎰x dx x I .模拟值与精确值的误差率为0.4%.
3 小结
Monte Carlo 方法的实质是通过大量随机试验,利用概率论解决问题的一种数值方法,基本思想是基于概率和体积间的相似性,因此程序十分简单;蒙特卡罗方法在解决确定性问题时,具有较高的精确度;误差主要取决于样本的容量而与维数无关,随着抽取点增加,近似面积也将逼近真实面积;对问题求解的过程取决于所建立的概率模型.
参 考 文 献:
[1] 概率论与数理统计教程/茆诗松,程依明,濮晓龙编著. —2版. —北京:高等教育出版社,2011.2
[2] MATLAB 教程及实训/曹弋主编. —北京:机械工业出版社,2008.4