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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MCMC蒙特卡洛算法

發(fā)布時(shí)間:2023/12/9 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MCMC蒙特卡洛算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MCMC算法

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

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

首先考慮如下積分

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

利用蒙特卡洛算法,隨機(jī)模擬正方形中的點(diǎn)(Xi,Yi),其總數(shù)為n,若1/Xi大于等于Yi,則表示點(diǎn)(Xi,Yi)位于陰影面積內(nèi),滿足這一條件的點(diǎn)個(gè)數(shù)為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中隨機(jī)數(shù)的生成:

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。