您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 8计算材料物理-第三章
计算材料物理第三章蒙特卡洛方法1蒙特卡洛(MonteCarlo)摩纳哥面积约为2平方公里,是世界上第二小的国家蒙特卡洛(MonteCarlo)蒙特卡洛与拉斯维加斯、澳门并称世界三大赌城蒙特卡洛方法蒙特卡洛方法是一类利用重复随机抽样来计算结果的算法;1930年代EnricoFermi最早提出类似思想;1940年代StanislawUlam与JohnvonNeumann提出随机抽样方法来处理核武器研究(曼哈顿工程,ManhattanProject)中的复杂数值积分问题;JohnvonNeumann给该方法取名为MonteCarlo方法,ThenameisareferencetotheMonteCarloCasinoinMonacowhereUlam'sunclewouldborrowmoneytogamble.随着计算机技术的发展,MonteCarlo方法在科学、工程、金融、通讯、人工智能等领域得到广泛应用。随机事件和概率事件:必然事件、不可能事件、随机事件在一定条件下,可能发生也可能不发生的事件称为随机事件;虽然一次随机试验中某事件的发生具有偶然性,但大量重复随机试验却呈现规律性----随机事件的统计规律性;概率(probability)则是衡量随机事件发生的可能性的量度概率的统计定义:在一定条件下重复做n次试验,nA为n次试验中事件A发生的次数,如果随着n逐渐增大,频率nA/n逐渐稳定在某一数值p附近,则数值p称为事件A在该条件下发生的概率,记做P(A)=p;对任意事件A,皆有0≤P(A)≤1;随机变量随机变量(randomvariable)是表示随机现象各种结果的变量。比如掷硬币时,用ξ=1表示硬币正面朝上,用ξ=0表示硬币反面朝上;又如掷骰子,可以分别用ξ=1-6表示1-6点朝上。对随机试验的每一个可能的结果,有唯一一个实数与之对应;这种对应关系实际上定义了样本空间W上的函数;Ww1w2w3ξ一维随机变量随机变量引入随机变量,就是可以设想所有的实验都在实数轴上进行,也就是设想样本空间W就只是实数轴;比如掷硬币时,ξ是描述掷硬币试验的随机变量;ξ=1表示硬币正面朝上,ξ=0表示硬币反面朝上;掷硬币正面朝上概率可以用P(ξ=1)来表示;掷硬币反面朝上概率可以用P(ξ=0)来表示;一般情况下P(ξ=1)=0.5,P(ξ=0)=0.5;推广一下,我们可以说P(ξ0)=0;P(ξ1)=0;P(0ξ1)=0P(ξ0.5)=?P(ξ2)=?P{ξ≤0}=?P{ξ≤0.5}=?P{ξ≤1}=?几何上,CDF表示随机变量ξ落在实数x左边的概率随机变量和分布函数设有随机变量ξ,x是实数,函数F(x)=P{ξ≤x}称为随机变量ξ的分布函数,也称为累积分布函数(cumulativedistributionfunction,CDF);在投掷硬币实验中,F(0)=P{ξ≤0}=0.5;F(0.5)=P{ξ≤0.5}=0.5;F(1)=P{ξ≤1}=1对于任意实数x1,x2(x1x2),有P{x1ξ≤x2}=P{ξ≤x2}-P{ξ≤x1}=F(x2)-F(x1);因此,若已知ξ的分布函数,就可以知道ξ落在任一区间(x1,x2]上的概率,在这个意义上说,分布函数完整地描述了随机变量的统计规律性;ξx离散随机变量随机变量可分为离散随机变量和连续随机变量;如果随机变量的全部可能取的值只有有限个或可列无限多个,则称这种随机变量为离散型随机变量;o123456789P{ξ=k}k概率分布函数连续型随机变量ξ设ξ在区间[x+δx]内取值的几率为P(xξ≤x+δx);则随机变量ξ的概率密度函数(probabilitydensityfunction,PDF)为随机变量ξ处于[a,b]区间的概率为概率密度函数和累计分布函数都可以用来描述随机变量xxxxPxpx0limbadxxpbaP连续随机变量对于随机变量ξ的分布函数F(x),使对于任意实数x,有则称ξ为连续随机变量;其中函数p(x)为ξ的概率密度函数,具有下列性质xdttpxFxpxFdttpxFxFxxPdttptpxx)4()3(1)2(;0)1(211221分布函数和概率密度函数分布函数和概率密度函数均匀分布ababξξOp(x)F(x)1othersbxaabxp,0,1bxbxaabaxaxxF,1,,0ab1指数分布ξOf(x)lOξF(x)10,00,xxexpxllothersxexFx,00,1l正态分布(normaldistribution)设连续型随机变量X的概率密度为其中μ,σ(σ0)为常数,则称X服从参数为m,s的正态分布,记为X~N(m,s2)正态分布函数22221smsxexfxtdtexF22221sms正态分布(normaldistribution)特别地,当m=0,s=1时,称X服从标准正态分布,记为X~N(0,1),其概率密度和分布函数分别用j(x),F(x)表示,即有Fxtxdtexex22222121j随机变量的数学期望离散随机变量的数学期望(mathematicalexpectation)如果P{ξ=xi}=pi,那么随机变量ξ的数学期望为连续随机变量的数学期望如果随机变量ξ的概率密度函数为p(x),那么其数学期望为数学期望的性质(1)若C是常数,则E(C)=C;(2)若X是随机变量,C是常数,则E(CX)=CE(X);(3)若X,Y是两个随机变量,则E(X+Y)=E(X)+E(Y);(4)若X,Y是两个独立随机变量,则E(XY)=E(X)E(Y);iiipxdxxxpxE随机变量的方差为了描述随机变量与其期待的偏差,定义方差设X是一个随机变量,则E[X-E(X)]2称为X的方差一般有公式D(X)=E[XE(X)]2=E[X22XE(X)+(E(X))2]=E(X2)2E(X)E(X)+[E(X)]2=E(X2)[E(X)]2方差实际上就是随机变量X的函数g(X)=(XE(X))2的数学期望定义标准差(均方差)正态分布的两个参数μ和σ分别是数学期望和均方差;2XEXEXD2XEXEXDXs大数定律(lawsoflargenumber)(伯努利大数定律)设试验E是可重复进行的,事件A在每次试验中出现的概率P(A)=p(0p1),将试验独立地进行n次,用nA表示其中事件A出现的次数,则对于任意正数e,有或者写成大数定理表明事件发生的频率收敛于事件发生的概率;在实际应用中,当试验次数很大时,便可以用事件发生的频率来代替事件的概率0limor,1limeepnnPpnnPAnAnpnnA中心极限(centrallimit)定理设随机变量X1,X2,…,Xn是相互独立但同分布,期望和方差都是m,s2,考虑随机变量X=X1+…+Xn数学期望E(X)=m1+m2+…+mn=nm,方差D(X)=s12+s22+…+sn2=ns2,当n足够大的时候随机变量X=X1+…+Xn近似服从N(nm,ns2);随机变量X=(X1+…+Xn)/n近似服从N(m,s2/n);,2,1,0)(,)(2kXDXEkksm中心极限(centrallimit)定理假设X1,X2,…,Xn是n个相互独立的随机变量,随机变量X=X1+X2+…+Xn,其中E(Xi)=mi,D(Xi)=si2,i=1,2,…,n,则根据数学期望和方差的性质可得E(X)=m=m1+m2+…+mn,D(X)=s2=s12+s22+…+sn2,则只要n相当大(10),就近似有X~N(m,s2);当一个随机变量X是由n个相互独立的随机变量的和构成,即X=X1+X2+…+Xn,只要n足够大,则不管这n个随机变量的分布有多么不同,随机变量X都近似服从正态分布;中心极限定理演示中心极限(centrallimit)定理问题:独立地掷10颗骰子,求掷出的点数之和在30到40点之间的概率以Xi表示第i颗骰子掷出的点数(i=1,2,…,10),则掷出的点数之和X=X1+…+X10近似服从N(10m,10s2);即则所求概率为;1235,27;6,2,1,612smiiiXDXEjjXP12350,270~NX6476.04030XPMonteCarlo方法求圆周率圆周率π=3.1415926535897932384626433…边长为2的正方形,面积为4;正方形内切一个半径为1的圆,面积为π;则内切圆和正方形面积之比为π/4;假设在正方形内均匀撒点总点数为N落在圆内点数为m当N足够大时,有NmNm44方法求圆周率Fortran程序举例MonteCarlo方法求圆周率MonteCarlo方法求圆周率MonteCarlo方法求圆周率MonteCarlo方法求圆周率随机数与伪随机数蒙特卡洛方法需要进行大量重复的随机抽样;抽样过程中需要各种分布的随机变量,最简单的随机变量是在[0,1]区间上均匀分布的随机变量,其它更复杂的随机变量可以在此基础上生成;[0,1]区间均匀分布的随机变量总体中抽取的子样本ξ1,ξ2,…ξN称为随机数序列,其中每个个体称为随机数;物理方法可以得到真正的随机数;计算机中一般使用递推数学方法产生伪随机数;递推方法产生的随机数序列由递推函数和初始值唯一确定,不满足随机数相互独立的要求,而且存在周期;伪随机数的产生方法目前伪随机数的产生方法主要是同余法;由选定的初值出发,通过递推产生伪随机数序列;递推公式其中a,c,M分别称作倍数、增值和模,均为正整数;x0称作种子或初值,也为正整数;上述算法生成的xn是[0,M]区间的均匀分布整数,ξn=xn/M是[0,1]区间上的均匀分布实数;伪随机数的质量(周期长度,独立性和均匀性)与a,c,M有关;比如M=231,a=7,c=1;MxξMModcaxxnnnn;1随机数生成演示~pa/Random/Random.html伪随机数的产生方法线性同余生成器(LinearCongruentialGenerator)伪随机数的产生方法CombiningtwoLCGs1968,Marsaglia伪随机数的产生方法Fortran等程序语言都自带生成伪随机数的函数或者子程序;Fortran77:RANDFortran90:RANDOM_NUMBER也可以自行编写随机数生成程序随机数产生器随机数产生器随机变量抽样设F(x)为某已知的分布函数,随机变量抽样就是产生相互独立、满足分布函数F(x)的随机序列ξ1,ξ2,…ξN;一般用ξF表示具有分布函数F(x)的简
本文标题:8计算材料物理-第三章
链接地址:https://www.777doc.com/doc-1795132 .html