時間:2017-08-30 14:36來源:藍天飛行翻譯公司 作者:民航翻譯 點擊:次
To view this page ensure that Adobe Flash Player version 9.0.124 or greater is installed. 約在1946年,物理學家Von Neumann等在電子計算機上用隨機抽樣方法模擬了中子連鎖反應,并把這種方法稱作Monte Carlo方法。
近十年來,隨著電子計算機的出現和迅速發(fā)展,人們才有意識地、廣泛地、系統(tǒng)地應用隨機抽樣試驗來解決數學和物理問題,而且把Monte Carlo方法當作計算數學的一個新的重要分支。
MONTE CARLO 方法亦稱為隨機模擬(random simulation )方法,有時也稱作隨機抽樣(random sampling)方法。它的基本思想是:為了求解數學、工程技術上的問題,首先建立一個概率模型或隨機過程,使它的參數等于問題的解;然后通過對模型或過程的隨機抽樣試驗產生一系列隨機數來計算所求參數的統(tǒng)計特征,最后給出所求解的近似值。
隨機數的產生當然不是枚舉法,這里在計算機上產生的隨機數都是“偽隨機數”,也就是由一種迭代過程即數學過程產生一系列數的方法。當然這樣做的結果,隨機性就需要進行驗證。因為這種數學方法在迭代過程開始前,每一項都是不能預測的。對這些所產生的成千上萬的數,只要它們能通過一系列的局部隨機性檢驗,如均勻性、獨立性等檢驗,那么就可把它們當作隨機數來使用,Lehmer首先把這樣產生的數定名為“偽隨機數”,本論文中使用的Matlab工具是一個很好的解決很多工程的龐大向導,使用它產生的隨機數即為“偽隨機數”。
舉一個簡單的例子 :
變量X和Y是服從相同分布的,X在值域[1.0,2.0]中隨機取值,Y是獨立于X的在[3.0,4.0]中取值的隨機變量。設函數Z=X+Y是MONTE CARLO方法中所要研究的概率模型,Z為所求參數,通過對X和Y的隨機抽樣,來計算參數Z的統(tǒng)計特征,并給出近似值。
首先需對變量X和Y在其分布范圍內隨機取值,將X和Y的每一個隨機值相加就得到Z的一個隨機值,然后重復該過程N次(一般為1000次)。這個隨機取值的過程可用MATLAB工具實現,得到的N個隨機N值可用MATLAB進行仿真從而得到參量Z的概率分布曲線 (見MATLAB簡介一節(jié))。表1為該例子的一個隨機結果。
次序 X[1.0,2.0] Y[3.0,4.0] Z=X+Y
1 1.62 3.63 5.25
2 1.93 3.15 5.08
3 1.19 3.42 4.61
4 1.40 3.75 5.15
5 1.56 3.45 5.01
從這個簡單的算例可以看出,如果Z是由許多復雜變量組成的函數,就可以通過MONTE CARLO 方法來解決。建立在Reich模型基礎上的碰撞危險評估算式就是MONTE CARLO方法中所要研究的概率模型,只需將該算式中各不確定參量在其分布范圍內隨機取值,然后根據算式得出計算結果(總碰撞危險)的隨機序列值。如果進行足夠多次數的循環(huán),該序列就會非常近似總碰撞危險次數的概率分布。
2.3 Matlab軟件及編程思想
出于科學數值計算上的原因,Matlab語言應運而生。目前在Matlab環(huán)境下可以進行數值計算、符號計算、實現視圖建模仿真、文字處理、與硬件實時交互等功能。在本篇中主要用到的功能有:
(1)數值計算功能(Numeric Function)
矩陣的創(chuàng)建和保存,數值矩陣的四則運算、乘方運算和各種分解;數組運算、多項式及數值積分運算。
(2)符號計算功能
符號計算有兩大特點:符號解析解和任意精度的數值解。
(3)圖形和可視化功能(Graphic Function)
Matlab具有強大的圖形化功能和可視化功能,其功能函數種類全面而詳盡。高級功能圖形指令有:二維、三維曲線,圖形標識;坐標軸的控制;圖形的疊加等。
1. 編程思想
在本篇中利用的數據都是離散數據,比如觀測到一定偏航距離下的飛機數。因此需要用Matlab的圖形和可視化功能首先將這些離散數據用柱狀圖表示出來。在此之前只需要簡單的將這些離散數據用X,Y坐標方向上的兩個數組定義一下,然后利用Matlab庫函數提供的bar(x,y)就可以畫出象圖2a一樣的柱狀圖。
對離散數據的擬合在本篇中只有兩種:正態(tài)分布曲線的擬合以及多項式函數的擬合。對離散數據進行正態(tài)分布曲線擬合時如果 較明確,就可以利用Matlab庫函數提供的y=normpdf(x, )畫出所服從的分布曲線。但對于 不明確的離散數據,只能通過算法來實現。
在對圖4-7a中所擬合的曲線尾部進行處理時,采用了在水平線和多項式擬合函數曲線之間插值的方法。在用Matlab畫水平線時,一定要注意Matlab在畫圖時,橫坐標和縱坐標的維數要是一樣的。如果要橫坐標上有10個點,要畫y=779這個常數,只能將語句寫為:y=779*ones(size(10)),size(x)表示與橫坐標具有相同的維數。在對離散點進行多項式擬合時,Matlab提供兩個函數就可以完成這項功能:p=polyfit(x,y,n)和y2=polyval(p,x)。當n=3時,前式表示對離散點進行形如 的3次多項式擬合,并把系數 賦值給p。n的取值不一樣,多項式曲線的現狀也是大不一樣的,因此應用不同次數的多項式進行插值,然后進行比較,取一個擬合效果較為光滑的次數作為最終采用的結果。后式表示系數p對應的多項式在x點對應的y值。接下來只需要調用繪制二維曲線函數plot(x,y,'-'),就可以繪出多項式函數擬合曲線。
|
上一篇:沒有了