python蒙特卡洛求定積分 蒙特卡洛定積分(一)

2021-10-13 13:21:40 字數 1044 閱讀 9508

一、蒙特卡洛模擬法分類

蒙特卡洛法模擬法從其應用方面來劃分,可以分成以下三種形式:

1)直接蒙特卡洛模擬。採用隨機數學咧來模擬複雜隨機過程的效應。

2)蒙特卡洛定積分(間接蒙特卡洛模擬)。利用隨機數序列計算積分的方法。積分維數越高,該方法的積分效率就越高。

3)metropolis蒙特卡洛模擬。以"馬爾可夫"鏈形式產生系統的分布序列,該方法可以使我們能夠研究經典和量子多粒子系統的問題。

二、直接、間接蒙特卡洛法簡介

直接蒙特卡洛法使用的情況往往是問題本身具有一定的概率和數理統計性的情況,如核衰變過程等。該方法是按照實際問題所遵循的概率統計規律,用電子計算機進行直接的抽樣試驗,然後計算其統計引數。直接蒙特卡洛模擬法最充分體現出蒙特卡洛模擬法無可比擬的的特殊性和優越性,因而在物理學的各種各樣問題中得到廣泛的應用。該方法也就是通常說的"計算機試驗"。

間接蒙特卡洛法是人為構造出乙個適合的概率模型,然後依照該模型進行大量的試驗,使它的某些統計參量正好是待求問題的解。

三、間接蒙特卡洛法應用

buffon投針試驗---求π的近似值(現在採用用級數展開逼近求解)。雖然buffon投針試驗精確度不高,就連小數點後第二位也是不精確的,但是作為直接蒙特卡洛法應用的例子,本文將對其展開分析求解。

buffon採用投針與平行線的夾角作為變數,並充分使用了cos的特性---cos在[0,π]是均勻分布的。這就出來我們需要求的π的,挺巧妙的。然後由於cos具有均勻型的特徵,而蒙特卡洛方法自變數均勻時有對應的方法,這就一拍而和了。可能詞不達意,不過讀者可以慢慢體會。

稍微推導一下公式:

1)投針長為l,平行線之間距離為s,投針與垂直平行線方向夾角為a。那麼投針與平行線相交的概率就是投針在垂直平行線方向上的投影與平行線距離的比值。

2)由於夾角a在[0,π]中是均勻分布的,那麼投針和平行線相交的平均概率為

3) 為了計算方便,假設有l=s,那麼公式可以簡化為

4)如果投針n次,有m次和平行線相交。當n值充分大時,相交的頻數m/n與概率相等,即有

四、buffon試驗**

實在是不能再簡單的入門級**了......→_→這步就省略了吧。

蒙特卡洛方法 玩具例子 2 定積分

蒙特卡洛方法可以計算任意乙個積分的值。下面以求 1 0x2d x 的定積分,定義域為 0,1 x2 的值域為 0,1 在座標區域0 x 1 0 y 1 內撒點,用縱座標j小於等於i2 的所有點 i j 佔總點數的比例近似估計定積分的值。coding utf8 import numpy as np i...

用蒙特卡洛求pi R語言 蒙特卡洛模擬計算

蒙特卡洛法的基本思想是 為了求解問題,首先建立乙個概率模型或隨機過程,使它的引數或數字特徵等於問題的解 然後通過對模型或過程的觀察或抽樣試驗來計算這些引數或數字特徵,最後給出所求解的近似值。解的精確度用估計值的標準誤差來表示。蒙特卡洛法的主要理論基礎是概率統計理論,主要手段是隨機抽樣 統計試驗。用蒙...

蒙特卡洛計算定積分VC

蒙特卡洛計算定積分vc 1.蒙特卡洛簡介 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的發展和電子計算機的發明,而被提出的一種以概率統計理論為指導的一類非常重要的數值計算方法。是指使用隨機數 或偽隨機數 來解決很多計算問題的方法。蒙特卡洛方...