資源描述:
《實驗十五: MATLAB的蒙特卡洛仿真.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗十五:MATLAB的蒙特卡洛仿真一、實驗?zāi)康?.了解蒙特卡洛仿真的基本概念。2.了解蒙特卡洛仿真的某些應(yīng)用二.實驗內(nèi)容與步驟1.蒙特卡洛(MonteCarlo)仿真的簡介隨機模擬方法,也稱為MonteCarlo方法,是一種基于“隨機數(shù)”的計算方法。這一方法源于美國在第一次世界大戰(zhàn)進行的研制原子彈的“曼哈頓計劃”。該計劃的主持人之一、數(shù)學(xué)家馮·諾伊曼用馳名世界的賭城—摩納哥的MonteCarlo來命名這種方法,為它蒙上了一層神秘色彩。馮·諾伊曼是公理化方法和計算機體系的領(lǐng)袖人物,MonteCarlo方法也是他的功勞。事實上,MonteCarlo方法的基本思想很早以前
2、就被人們所發(fā)現(xiàn)和利用。早在17世紀(jì),人們就知道用事件發(fā)生的“頻率”來決定事件的“概率”。18世紀(jì)下半葉的法國學(xué)者Buffon提出用投點試驗的方法來確定圓周率π的值。這個著名的Buffon試驗是MonteCarlo方法的最早的嘗試!歷史上曾有幾位學(xué)者相繼做過這樣的試驗。不過他們的試驗是費時費力的,同時精度不夠高,實施起來也很困難。然而,隨著計算機技術(shù)的飛速發(fā)展,人們不需要具體實施這些試驗,而只要在計算機上進行大量的、快速的模擬試驗就可以了。MonteCarlo方法是現(xiàn)代計算技術(shù)的最為杰出的成果之一,它在工程領(lǐng)域的作用是不可比擬的。蒙特卡洛(MonteCarlo)模擬是一
3、種通過設(shè)定隨機過程,反復(fù)生成時間序列,計算參數(shù)估計量和統(tǒng)計量,進而研究其分布特征的方法。具體的,當(dāng)系統(tǒng)中各個單元的可靠性特征量已知,但系統(tǒng)的可靠性過于復(fù)雜,難以建立可靠性預(yù)計的精確數(shù)學(xué)模型或模型太復(fù)雜而不便應(yīng)用時,可用隨機模擬法近似計算出系統(tǒng)可靠性的預(yù)計值;隨著模擬次數(shù)的增多,其預(yù)計精度也逐漸增高。由于涉及到時間序列的反復(fù)生成,蒙特卡洛模擬法是以高容量和高速度的計算機為前提條件的,因此只是在近些年才得到廣泛推廣。2.MC的原理針對實際問題建立一個簡單且便于實現(xiàn)的概率統(tǒng)計模型,使問題的解對應(yīng)于該模型中隨機變量的概率分布或其某些數(shù)字特征,比如,均值和方差等。所構(gòu)造的模型在
4、主要特征參量方面要與實際問題或系統(tǒng)相一致的。根據(jù)模型中各個隨機變量的分布,在計算機上產(chǎn)生隨機數(shù),實現(xiàn)一次模擬過程所需的足夠數(shù)量的隨機數(shù)。通常先產(chǎn)生均勻分布的隨機數(shù),然后生成服從某一分布的隨機數(shù),再進行隨機模擬試驗。收斂性:由大數(shù)定律,Monte-Carlo模擬的收斂是以概率而言的.誤差:用頻率估計概率時誤差的估計,可由中心極限定理,給定置信水平的條件下,有:??模擬次數(shù):由誤差公式得3.定積分的MC計算原理事實上,不少的統(tǒng)計問題,如計算概率、各階距等,最后都歸結(jié)為定積分的近似計算問題。設(shè)a,b,有限,,并設(shè)是在上均勻分布的二維隨機變量,其聯(lián)合密度函數(shù)為。則易見是中曲線
5、下方的面積。假設(shè)我們向中進行隨機投點,若點落在下方,(即稱為中的,否則稱為不中,則點中的概率為。若我們進行了次投點,其中次中的,則用頻率來估計概率。即。1.蒙特卡洛仿真應(yīng)用舉例例1計算定積分事實上,其精確解為用隨機投點法求解如下:sjtdf(0,4,4,1000000)result=7.2336functionresult=sjtdf(a,b,m,mm)%a是積分的下限%b是積分的上限%m是函數(shù)的上界%mm是隨機實驗次數(shù)frq=0;xrandnum=unifrnd(a,b,1,mm);yrandnum=unifrnd(0,m,1,mm);forii=1:mmif(co
6、s(xrandnum(1,ii))+2>=yrandnum(1,ii))frq=frq+1;endendresult=frq*m*(b-a)/mm例2p的計算(單位圓的面積等于p)>>sjtdf_pi1(1000)piguji=3.0520>>sjtdf_pi1(10000)piguji=3.1204>>sjtdf_pi1(100000)piguji=3.1296functionpiguji=sjtdf_pi1(mm)%mm是隨機實驗次數(shù)frq=0;xrandnum=unifrnd(0,1,1,mm);yrandnum=unifrnd(0,1,1,mm);forii=
7、1:mmifxrandnum(1,ii)^2+yrandnum(1,ii)^2<=1frq=frq+1;endendpiguji=4*frq/mm思考題運用定積分的MC計算原理,用隨機投點法計算二重定積分