资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
蒙特卡罗方法概述 8.2引例:蒲丰投针问题在用传统方法难以解决的问题中,有很大一部分可以用概率模型进行描述.由于这类模型含 有不确定的随机因素,分析起来通常比确定性的模型困难.有的模型难以作定量分析,得不 到解析的结果,或者是虽有解析结果,但计算代价太大以至不能使用在这种情况下,可以 考虑采用Monte Carlo方法。下面通过例子简单介绍Monte Carlo方法的基本思想.Monte Carlo方法是计算机模拟的基础,它的名字来源于世界著名的赌城一一摩纳哥的 蒙特卡洛,其历史起源于1777年法国科学家蒲丰提出的一种计算圆周兀的方法一一随机投 针法,即著名的蒲丰投针问题。这一方法的步骤是:1) 1)取一张白纸,在上面画上许多条间距为d的平行线,见图8.1(1)2) 2)取一根长度为1 (l d)的针,随机地向画有平行直线的纸上掷n次,观察针与 直线相交的次数,记为m3)计算针与直线相交的概率.由分析知针与平行线相交的充要条件是x sin 申2其中d0 x ,0 申 rT rT rTw使用MATLAB语言编程实现(4.m)l=1d=2;m=0;for k=l: nx=unifmd (0, d / 2); p=unifmd (0, pi); if x 0.5 x 1 x sin( y) m=m+1elseendend p=m/n pi_m=1/p运行,取n=1000,simu4回车,即得结果*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* rT* rT* rT*Tx rT* rTx1)在上述的程序中任意调整n的取值,会发现什么规律?2)参数l, d的不同选择,会导致什么结果?*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*、!、!、!、!、!、!、!、!、!、!、!、!、! *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*rT* rT* rT* JSTx rT* rTx蒙特卡洛方法适用范围很广泛,它既能求解确定性的问题,也能求解随机性的问题以及 科学研究中的理论问题.例如利用蒙特卡洛方法可以近似地计算定积分,即产生数值积分问 题.任意曲边梯形面积的近似计算一个古老的问题:用一堆石头测量一个水塘的面积.应该怎样做呢?测量方法如下:假 定水塘位于一块面积已知的矩形农田之中.如图8. 2所示.随机地向这块农田扔石头使得 它们都落在农田内.被扔到农田中的石头可能溅上了水,也可能没有溅上水,估计被“溅上 水的”石头量占总的石头量的百分比.试想如何利用这估计的百分比去近似计算该水塘面 积?逼E.2 屡矩羽下盟水塘结合图8. 2中的图形(1)分析,只要已知各种参数及函数(a, b,H,f(x),有以下两种 方法可近似计算水塘面积.1 随机投点法1)赋初值:试验次数n=0,成功次数m=0;规定投点试验的总次数N;2)随机选择m 个数对x , y ,1 i m,,其中a x b,0 y H,置 n=n+l;i iii3)判断n N,若是,转4,否则停止计算;4) 判断条件y f (x )(表示一块溅水的石头)是否成立,若成立则置m=m+l,转2,ii否则转2;5) 计算水塘面积的近似值S = H x (b - a) x m/N .2平均值估计法1)2)3)产生a,b区间的均匀随机数x , i二1,2,N;i计算 f (x.), i = 1,2,N;计算S =f(x)。iii=1该方法的特点是估计函数f(x)在a,b上的平均值,面积近似等于该平均值乘以(b-a).Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx做 :用 MATLAB 软件编制程序实现,并对以上两种方法进行比较
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号