日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MCMC蒙特卡洛算法

發布時間:2023/12/9 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCMC蒙特卡洛算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MCMC算法

蒙特卡羅方法又稱統計模擬法、隨機抽樣技術,是一種隨機模擬方法,以概率和統計理論方法為基礎的一種計算方法,是使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。
當所求解問題是某種隨機事件出現的概率,或者是某個隨機變量的期望值時,通過某種“實驗”的方法,以這種事件出現的頻率估計這一隨機事件的概率,或者得到這個隨機變量的某些數字特征,并將其作為問題的解。
個人淺見:隨機數模擬+概率論=MCMC

示例:蒙特卡洛算法求積分

首先考慮如下積分

求如上積分就是求下圖中陰影面積。

利用蒙特卡洛算法,隨機模擬正方形中的點(Xi,Yi),其總數為n,若1/Xi大于等于Yi,則表示點(Xi,Yi)位于陰影面積內,滿足這一條件的點個數為m。由概率論可知,
S=m/n*(2-1)*(1-0)

import random max=10000000 def getPoint():x=random.uniform(1.0,2.0)y=random.uniform(0.0,1.0)p=(x,y)return p def getResult():m=0n=maxfor i in range(n):p=getPoint()if(1/p[0]>=p[1]):m+=1return m/n*(2-1)*(1-0) print(getResult())

Python中隨機數的生成:

import random random.randint(1,10) #產生1-10的一個隨機整數 random.random() #產生[0,1)中的一個隨機浮點數 random.uniform(1.1,3.2) #生成1.1到3.2間隔中的一個隨機浮點數,區間可以不是整數 random.choice('beautiful') #從序列中隨機選一個元素 random.randrange(1,100,2) #生成1到100間隔為2的一個元素 a=[1,2,3,4,5] random.shuffle(a) #將序列a的元素打亂

總結

以上是生活随笔為你收集整理的MCMC蒙特卡洛算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。