您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页蒙特卡罗法在二重积分中的改进算法

蒙特卡罗法在二重积分中的改进算法

来源:易妖游戏网
第23卷第3期 海南师范大学学报(自然科学版) Vo1.23 No.3 2010年9月 Journal of Hainan Normal University(Natural Science) Sep.2010 蒙特卡罗法在二重积分中的改进算法 李满枝,王洪涛,张广路 (海南师范大学数学与统计学院,海南海口571158) 摘要:应用蒙特卡罗方法计算二重积分,给出算法的详细计算原理和计算流程步骤,在现有的 算法基础上进行改进,并给出实例的具体计算结果.数值模拟结果表明:改进的新算法简化了计 算过程,且模拟的精度较高. 关键词:蒙特卡罗方法;二重积分;数值计算 中图分类号:0 242 文献标识码:A 文章编号:1674—4942(2010)03—0242—03 Calculation of Double Integrals Based on Monte Carlo Method LI Manzhi,WANG Hongtao,ZHANG Guanglu (College ofMathematics and Sttaistics,Hainan Normal University,H ̄kou 571 158,China) Abstract:In this paper Monte Carlo method was used to calculate double integra1.The realization steps,algorithm and the reMi ̄tion of a concrete example were were given.The example shows that the improved Monte-Carlo method has a better computing algorithm and a better accuracy. Key words:Monte Carlo method;double integrals;numeircal calculate 二重积分的传统计算方法要先化成累次积分, 计算过程,节省计算机时,提高计算效率.最后通过 再根据被积函数的原函数进行计算,但若原函数难 算例验证改进算法的可行性与优良性. 以求得,则该积分就无法直接计算,具有很大的局 限性.蒙特卡罗方法为求解二重积分提供了一个新 1二重积分的蒙特卡罗法的改进 的计算方法,该方法利用计算机的快速计算和高精 积分都可以看作是某个随机变量的数学期望. 度的特点来模拟随机投点实验,然后通过概率模 因此,在利用蒙特卡罗方法计算二重积分的时候, 型,由数学期望的计算来得到积分的近似值. 采用了这个随机变量的算术平均值来作为其近似 蒙特卡罗方法以随机模拟和统计试验为手段, 值[3-5]. 从随机变量的概率分布中,通过选择随机数的方法 定理(传统蒙特卡罗方法)设f(x,y)为区域 产生一种符合该随机变量概率分布特性的随机数 D上的有界函数, 值序列,作为输入变量序列进行特定的模拟试验、 1)取一个包含D的矩形区域Q:a≤ ≤b, 求解的方法¨1 .在应用蒙特卡罗方法求解二重积 分时,必须要在包含积分域的矩形区域中产生非均 匀的随机点,然后设法转换成我们需要的随机数序 2)取任一个概率密度函数g( ,y),满足』g( , 列并以此作为数字模拟试验的输入变量序列进行 模拟求解[3 3. y)dtxdy=1; 3)( ,Y ),i=1,2,…,n是以g(x,y)为概率密 本文在传统蒙特卡罗方法的基础上做了改进, 直接在积分区域中产生随机点进行计算,由此简化 度的随机数列,设( ,Y ),i=1,2,…,k为落在D 收稿日期:2010—05-17 基金项目:海南省教育厅高等学校资助项目(Hjsk2010-41);海南师范大学青年教师科研资助项目(QN0921);海南师范 大学应用数学重点学科项目 第3期 李满枝等:蒙特卡罗法在二重积分中的应用 243 中的k个随机数,则rt充分大时,有 ,, 一} k 定理的证明参见文【3—4】. 应用传统蒙特卡罗方法通常是计算形如l l f(x,y)dxdy的二重积分,其数值计算公式为[ ] r 6 r 6: f J ,y)dxdy一 N【i ( 一 ・ (2) 定理 (改进蒙特卡罗方法)设f(. x,y)为区域 上的有界函数, 1)在区域JD上取任一个概率密度函数g(x,y:}, 满足JJ g( ,y)dxdy=1,为了简单计算,取 占 g( )={ J—},。 ( , )∈D , l0,( , )诺D 其中A。是区域D的面积; 2)( ,Yi),i=I,2,…,/1,是l,Xg(x,y)为概率密 度的随机数列,设( ,Y ),i=1,2,…,,l为落在D 中的n个随机数,则lD "t充分大时,有 D 』 其 中 一 n袅 碧一 A 是 ) ) 3)设( ,Y ),i=1,区 2,…,,l为落在D中的11,个 随机数,则n充分大时,有 ,6 r 62( ) J。. ,y)dxdy [高地 (62 )一 ))] ) 证明 根据二重积分的数学定义,形如』 : , 占 y)do"的二重积分根据积分区间D的定义可以化为 类次积分J al J ,y)dxdy,其中D ≤ ≤6 , a2(.9C)≤ ≤b2( ),令 的面积,则满足条件j g( ,y)a ̄dy=1.则根据 公式(1)得 』 ,,,, 1 耋袅象参 由积分中值定理,曲边梯形o(3c ̄边为Y= b ( ),下曲边为Y=n2( ))的面积 A。=(bl一口。)(6:( )一n2( )),(0 ≤ ≤b ), 在区间a ,b 】内任意插入n一1个分点 , 。::a。, =bl,al< <b1,(,i=1,2,…,凡一1),当凡很 大时’(6:( 02( } ;(b2 )一a2( )), 即 。一}∑(,‘i=1 6。一 )(6 ( )一n ( )),当n充 分大时,A。可近似看作为区域D的面积. 由上式展开得 ¨ ,)J J , y)dxdy } ,( )Yl A。 )(6。 )(6 ( )一n2㈤)卜 [i 62( )] 证毕. 与传统算法相比,改进算法省略了取包含D的 矩形区域n的步骤,因此也省略-j'min(a2( ))=c, max(b:( ))=d的计算,省略了判断随机数落在积 分区域D的步骤,从而大大降低计算难度,简化了 计算步骤. 2算例 用蒙特卡罗法计算 』 . 根据公式(4)可知 244 海南师范大学学报(自然科学版) 2010年 』 』 yd dy [ 耋 , c2一・,( 一 )]一 加抽取样本次数,计算量增加,其精度也随之增加, 但是二者不成正比例关系.从图3可以看出:当随 ・)】 计算结果见图1,图2,图3. . 图1 900个随机数的分布图 Fig.1 Distribution of 900 random number 图2 2000个随机数的分布图 Fig.2 Distribution of 2000 random number 注图1一图2中的曲线是函数y= 在[1。2】区间的曲线, 随机数在曲线之下说明产生的是 E[1,2】,y∈[1, 2】的 随机数 3结论 在计算过程采用线性同余器产生均匀随机数, 应用以上步骤求解二重积分得到较好的结果.当增 机数的数目N=990时,误差d=0.009 254,是最 佳数据.再产生更多的随机数,误差反而较大.所以 应用蒙特卡罗法求解二重积分存在最优数据问题. 总的看来,用蒙特卡罗方法求解的算法描述简单, 有较高的计算精度,对于求解二重积分是个简单有 效的方法. 椭 随机数的个数 图3随机数的数目与误差精度的分析圈 Fig.3 Analysis chart of random number and error 参考文献 [1]徐钟济.蒙特卡罗方法【M】.上海:上海科学技术出版社, 1985. [2]方再根.计算机模拟和蒙特卡罗方【M】.北京:北京工 业学院出版社,1988. [3]尹增谦,管景峰,等.蒙特卡罗方法及应用【J】.物理与工 程,2002,12(3):46—50. [4]刘辉玲,叶锋.计算多重积分的均匀随机数蒙特卡罗法 的实现【J】.电脑知识与技术,2008,4(8):2289—2291. [5]黎锁平.运用蒙特卡罗方法求解随机性问题【J】.甘肃工 业大学学报,2001,27(2):95-97. [6]Fishman G S.Monte Cado—Concepts,Algorithms and Ap— plicadons[M].New York:Springer,1996. [7]Niederreiter H.Kandom Number Generation and Quasi— Monte Carlo methods[M].CBMS—NSF Regional Confer— ence Series in Applied Mathematics,63:SIAM,1992. [8]Robert C P,Casella G.Monte Carlo Statisitcal Method (second edition)【M】.New York:Springer,2004. 责任编辑:毕和平 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务