收藏 分销(赏)

定积分的Monte-Carlo计算方法的实现.pptx

上传人:快乐****生活 文档编号:10296867 上传时间:2025-05-19 格式:PPTX 页数:26 大小:127.20KB
下载 相关 举报
定积分的Monte-Carlo计算方法的实现.pptx_第1页
第1页 / 共26页
定积分的Monte-Carlo计算方法的实现.pptx_第2页
第2页 / 共26页
点击查看更多>>
资源描述
,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机高级语言,认知实习汇报,课题名称:,定积分Monte Carlo计算方法实现,指导老师:王玉兰,小组组员:07020302曾颖超,07020301李海全,0701向 慧,实习时间:.12.27.01.08,摘要:此次实习设计并实现定积分Monte Carlo计算方法,采取VC+6.0开发完成。,1/26,一、设计任务与要求,1、设计内容,2、设计要求,二、Monte Carlo算法引导,1、Monte Carlo算法概念,2、Monte Carlo算法例子,三、Monte Carlo思想计算定积分实现,1、定积分定义,2、Monte Carlo算法积分原理,四、详细设计及实现,五、总结,六、参考资料,附录:源程序,2/26,一、设计任务与要求,1、设计内容,针对某详细函数f(x)形式,利用Monte Carlo算法实现积分。,3/26,2、设计要求,1)学习Monte Carlo计算数值积分方法;,2)就某个详细被积函数f(x)定积分,设计算法步骤;,3)编写程序实现算法;,4)对程序进行调试和测试,使用有解析解定积分方便计算对比;,4/26,二、,Monte Carlo算法引导,1、,Monte Carlo算法概念,非形式化地说,Monte Carlo算法泛指一类算法。在这些算法中,要求解问题是某随机事件概率或某随机变量期望。这时,经过“试验”方法,用频率代替概率或得到随机变量一些数字特征,以此作为问题解。,5/26,2、,Monte Carlo算法例子,如图(1)所表示,,在一个1平方米正方形木板上,随意画一个圈,求返个圈面积。,图(1),假设我手里有一支飞镖,我将飞镖掷向木板。木板,我们假定每一次都能掷在木板上,不会偏出木板,但每一次掷在木板什么地方,是完全随机。即,每一次掷飞镖,飞镖扎进木板任何一点概率相等。返样,我们投掷屡次,比如100次,然后我们统计返100次中,扎入不规则图形内部次数,假设为k,那么,我们就能够用 k/100*1 近似预计不规则图形面积,比如100次有32次掷入图形内,我们就能够预计图形面积为0.32平方米,从上述能够看出,Monte-Carlo算法区分不确定性算法,它解不一定是准确或正确,其准确或正确性依赖于概率和统计,但在一些问题上,当重复试验次数越够大时,可从很大约率上(返个概率是能够在数学上证实,但依赖于详细问题)确保解准确或正确性,所以,我们能够依据详细概率分析,设定试验次数,从而将误差或错误率降到一个可容忍程度。,6/26,三、Monte-Carlo思想计算定积分实现,1,、,定积分定义,2,、,Monte Carlo,积分法原理,7/26,1.定积分定义,如图2,定积分就是求函数在区间a,b中图线下包围面积,即y=0,x=a,x=b,y=f(x)所包围面积。普通地,设函数在区间上连续,用分点,将区间等分成个小区间,每个小区间长度为(),在每个小区间上取一点,作和式:,8/26,假如无限靠近于(亦即)时,上述和式无限趋近于常数,那么称该常数为函数在区间上定积分。记为:,其中成为被积函数,叫做积分变量,为积分区间,积分上限,积分下限。,9/26,2、,Monte Carlo积分法原理,求定积分直观意义就是求面积,所以,用Monte Carlo求积分原理就是经过模拟统计方法求解面积。即经过向特定区域随机产生大量点,然后统计点落在函数区域内频率,以此频率预计面积,从而得到积分值。,10/26,四、详细设计及实现,依据蒙特卡洛算法概念,将落在数学函数f(x)里面随机点搜集起来并计算出数量,这么能够计算出蒙特卡洛因子。然后就可计算出函数f(x)积分。,我们把积分区间较长函数进行分段求解,然后再求和。希望以此来提升准确性和缩短时间。,11/26,五 测试,被积函数:f(x)=sin(x),x0,20,积分准确解为:0.591917,把区间分为N段,随机点个数为n个,以下是测试数据,12/26,n,N,积分,误差(取正),时间,/,毫秒,10,6,1,0.56696,0.024957,238,10,6,2,0.5822,0.009717,465,10,6,4,0.59227,0.000353,931,10,6,8,0.590945,0.000972,1,813,10,6,16,0.59531,0.003393,3,566,10,6,32,0.595181,0.003264,7,179,13/26,10,7,1,0.598644,0.006727,2,308,10,7,2,0.596052,0.004135,4,607,10,7,4,0.597718,0.005801,9,011,10,7,8,0.5931,0.001183,17,847,10,7,16,0.590359,0.001558,35,352,14/26,六 总结,用蒙特卡洛方法计算定积分含有普遍意义。依据以上试验我们了解到,对于求解一些非常规问题我们有了新思绪,即一个不具随机性事件能够经过一定方法用随机事件来模拟或迫近。,15/26,参考文件,William H.Press,等著,傅祖芸 等译,,C,数值算法(第二版)电子工业出版社,,.01,同济大学数学系编,高等数学(第六版)高等教育出版社,,.06,孙淑霞 李思明 刘焕君 编著,,C/C+,程序设计(第三版)电子工业出版社,,.09,16/26,附录:源程序,#define IM1 2147483563,#define IM2 2147483399,#define AM(1.0/IM1),#define IMM1(IM1-1),#define IA1 40014,#define IA2 40692,#define IQ1 53668,#define IQ2 52774,#define IR1 12211,#define IR2 3791,#define NTAB 32,#define NDIV(1+IMM1/NTAB),17/26,#define EPS 1.2e-7,#define RNMX(1.0-EPS)/*,以上是为,ran2,函数做准备*,/,#include,#include,#include,#include,18/26,double ran2(long*idum)/*,产生随机数*,/,int j;,long k;,static long idum2=123456789;,static long iy=0;,static long ivNTAB;,double temp;,if(*idum=0),19/26,if(-(*idum)=0;j-),k=(*idum)/IQ1;,*idum=IA1*(*idum-k*IQ1)-k*IR1;,if(*idum0),*idum+=IM1;,if(jNTAB),ivj=*idum;,iy=iv0;,20/26,k=(*idum)/IQ1;,*idum=IA1*(*idum-k*IQ1)-k*IR1;,if(*idum0),*idum+=IM1;,k=idum2/IQ2;,idum2=IA2*(idum2-k*IQ2)-k*IR2;,if(idum20),idum2+=IM2;,j=iy/NDIV;,iy=ivj-idum2;,ivj=*idum;,if(iyRNMX),return RNMX;,else,return temp;,21/26,double fun1(double x)/*,被积函数*,/,return(sin(x);,double Monte(double n,double a,double b,double(*p)(),double fMAX)/*,计算蒙特卡洛因子*,/,double x,y;,double sx=0,sy=0,vx=0,vy=0;,double s,t;,double i;,long ko1,ko2;,22/26,ko1=ko2=1;,for(i=0;i=0),if(y=0),sy+;,if(y=(*p)(x),vx+;,return(sx-vx)/n);,main(),double n,fMAX,a,b,Mont,A,B,h,i=0,N;,long time0,time1;,printf(Enter a=:);scanf(%lf,24/26,printf(nEnter b=:);scanf(%lf,printf(nEnter N=:);scanf(%lf,/*N,表示区间个数*,/,printf(nEnter n=:);scanf(%lf,printf(nEnter fMAX(,此函数界,)=:);scanf(%lf,h=(b-a)/N;,time0=clock();,25/26,for(i=0;iN;i+),A=a+i*h;,B=A+h;,Mont+=Monte(n,A,B,fun1,fMAX)*(B-A)*2*fMAX;,printf(nintegration=%lf,Mont);,time1=clock();,printf(n耗时:%ldms,time1-time0);,getch();,26/26,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服