實(shí)驗(yàn)數(shù)據(jù)處理方法_第1頁
實(shí)驗(yàn)數(shù)據(jù)處理方法_第2頁
實(shí)驗(yàn)數(shù)據(jù)處理方法_第3頁
實(shí)驗(yàn)數(shù)據(jù)處理方法_第4頁
實(shí)驗(yàn)數(shù)據(jù)處理方法_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第七章第七章均勻分布隨機(jī)數(shù)的產(chǎn)生均勻分布隨機(jī)數(shù)的產(chǎn)生隨機(jī)數(shù)的定義和特性隨機(jī)數(shù)的定義和特性隨機(jī)數(shù)的產(chǎn)生隨機(jī)數(shù)的產(chǎn)生 線性乘同余方法線性乘同余方法第七章第七章均勻分布隨機(jī)數(shù)的產(chǎn)生均勻分布隨機(jī)數(shù)的產(chǎn)生7.1 隨機(jī)數(shù)的定義和特性隨機(jī)數(shù)的定義和特性什么是隨機(jī)數(shù)?什么是隨機(jī)數(shù)?單個(gè)的數(shù)字不是隨機(jī)數(shù)單個(gè)的數(shù)字不是隨機(jī)數(shù)是指一個(gè)數(shù)列,其中的每一個(gè)體稱為隨機(jī)數(shù),其值與數(shù)列中是指一個(gè)數(shù)列,其中的每一個(gè)體稱為隨機(jī)數(shù),其值與數(shù)列中的其它數(shù)無關(guān);的其它數(shù)無關(guān);在一個(gè)均勻分布的隨機(jī)數(shù)中,每一個(gè)體出現(xiàn)的概率是均等的;在一個(gè)均勻分布的隨機(jī)數(shù)中,每一個(gè)體出現(xiàn)的概率是均等的;v例如:在例如:在0,1區(qū)間上均勻分布的隨機(jī)數(shù)序列中,

2、區(qū)間上均勻分布的隨機(jī)數(shù)序列中,0.00001與與0.5出現(xiàn)的機(jī)會(huì)均等出現(xiàn)的機(jī)會(huì)均等隨機(jī)數(shù)應(yīng)具有的基本特性隨機(jī)數(shù)應(yīng)具有的基本特性考慮一個(gè)對(duì)高能粒子反應(yīng)過程的模擬:需用隨機(jī)數(shù)確定:考慮一個(gè)對(duì)高能粒子反應(yīng)過程的模擬:需用隨機(jī)數(shù)確定:v出射粒子的屬性:能量、方向、出射粒子的屬性:能量、方向、v粒子與介質(zhì)的相互作用粒子與介質(zhì)的相互作用對(duì)這一過程的模擬應(yīng)滿足以下要求(相空間產(chǎn)生過程):對(duì)這一過程的模擬應(yīng)滿足以下要求(相空間產(chǎn)生過程):v 出射粒子的屬性應(yīng)是互不相關(guān)的,即每一粒子的屬出射粒子的屬性應(yīng)是互不相關(guān)的,即每一粒子的屬性的確定獨(dú)立于其它的粒子的屬性的確定;性的確定獨(dú)立于其它的粒子的屬性的確定;v 粒

3、子的屬性的分布應(yīng)滿足物理所要求的理論分布;粒子的屬性的分布應(yīng)滿足物理所要求的理論分布;所模擬的物理過程要求隨機(jī)數(shù)應(yīng)具有下列特性:所模擬的物理過程要求隨機(jī)數(shù)應(yīng)具有下列特性:v隨機(jī)數(shù)序列應(yīng)是獨(dú)立的、互不相關(guān)的隨機(jī)數(shù)序列應(yīng)是獨(dú)立的、互不相關(guān)的(uncorrelated):即序列中的任一子序列應(yīng)與其它的子序列無關(guān);即序列中的任一子序列應(yīng)與其它的子序列無關(guān);v長的周期長的周期(long period):實(shí)際應(yīng)用中,隨機(jī)數(shù)都是用數(shù)學(xué)方法計(jì)算出來的,這些實(shí)際應(yīng)用中,隨機(jī)數(shù)都是用數(shù)學(xué)方法計(jì)算出來的,這些算法具有周期性,即當(dāng)序列達(dá)到一定長度后會(huì)重復(fù);算法具有周期性,即當(dāng)序列達(dá)到一定長度后會(huì)重復(fù);v均勻分布的隨機(jī)

4、數(shù)應(yīng)滿足均勻性均勻分布的隨機(jī)數(shù)應(yīng)滿足均勻性(Uniformity):隨機(jī)數(shù)序列應(yīng)是均勻的、無偏的,即:如果兩個(gè)子區(qū)間隨機(jī)數(shù)序列應(yīng)是均勻的、無偏的,即:如果兩個(gè)子區(qū)間的的“面積面積”相等,則落于這兩個(gè)子區(qū)間內(nèi)的隨機(jī)數(shù)的個(gè)相等,則落于這兩個(gè)子區(qū)間內(nèi)的隨機(jī)數(shù)的個(gè)數(shù)應(yīng)相等。數(shù)應(yīng)相等。例如:對(duì)例如:對(duì)0,1)區(qū)間均勻分布的隨機(jī)數(shù),如果產(chǎn)生區(qū)間均勻分布的隨機(jī)數(shù),如果產(chǎn)生了足夠多的隨機(jī)數(shù),而有一半的隨機(jī)數(shù)落于了足夠多的隨機(jī)數(shù),而有一半的隨機(jī)數(shù)落于區(qū)間區(qū)間0,0.1不滿足均勻性不滿足均勻性如果均勻性不滿足,則會(huì)出現(xiàn)序列中的多組隨機(jī)數(shù)相如果均勻性不滿足,則會(huì)出現(xiàn)序列中的多組隨機(jī)數(shù)相關(guān)的情況關(guān)的情況均勻性與互不相

5、關(guān)的特性是有聯(lián)系的均勻性與互不相關(guān)的特性是有聯(lián)系的v有效性(有效性(Efficiency):模擬結(jié)果可靠模擬結(jié)果可靠 模擬產(chǎn)生的樣本容量大模擬產(chǎn)生的樣本容量大所需的隨機(jī)數(shù)的數(shù)量大所需的隨機(jī)數(shù)的數(shù)量大隨機(jī)數(shù)的產(chǎn)生必須快速、有效,最好能隨機(jī)數(shù)的產(chǎn)生必須快速、有效,最好能夠進(jìn)行并行計(jì)算。夠進(jìn)行并行計(jì)算。第七章第七章均勻分布隨機(jī)數(shù)的產(chǎn)生均勻分布隨機(jī)數(shù)的產(chǎn)生7.2 隨機(jī)數(shù)的產(chǎn)生隨機(jī)數(shù)的產(chǎn)生 0,10,1區(qū)間上均勻分布的隨機(jī)數(shù)是區(qū)間上均勻分布的隨機(jī)數(shù)是Monte CarloMonte Carlo模擬的基礎(chǔ)模擬的基礎(chǔ): : 0,10,1均勻分布的隨機(jī)數(shù)的產(chǎn)生方法:均勻分布的隨機(jī)數(shù)的產(chǎn)生方法:利用一些具有內(nèi)在

6、的隨機(jī)性的過程:利用一些具有內(nèi)在的隨機(jī)性的過程:放射性衰變過程(放射性衰變過程(radioactive decay)radioactive decay);熱噪聲熱噪聲( (thermal noise);thermal noise);宇宙線的到達(dá)時(shí)間(宇宙線的到達(dá)時(shí)間(cosmic ray arrival);cosmic ray arrival);缺點(diǎn):模擬的結(jié)果不可再現(xiàn),使得模擬程序的找錯(cuò)困難缺點(diǎn):模擬的結(jié)果不可再現(xiàn),使得模擬程序的找錯(cuò)困難利用事先制訂好的隨機(jī)數(shù)表利用事先制訂好的隨機(jī)數(shù)表: :缺點(diǎn):表的容量有限,不適合需要大量隨機(jī)數(shù)的應(yīng)用缺點(diǎn):表的容量有限,不適合需要大量隨機(jī)數(shù)的應(yīng)用服從任意分

7、布的隨機(jī)數(shù)序列可以用服從任意分布的隨機(jī)數(shù)序列可以用0,10,1區(qū)間均勻分布的區(qū)間均勻分布的隨機(jī)數(shù)序列作適當(dāng)?shù)淖儞Q或舍選后求得隨機(jī)數(shù)序列作適當(dāng)?shù)淖儞Q或舍選后求得),.,(11knnnknrrrTr利用數(shù)學(xué)遞推公式在計(jì)算機(jī)中產(chǎn)生隨機(jī)數(shù)利用數(shù)學(xué)遞推公式在計(jì)算機(jī)中產(chǎn)生隨機(jī)數(shù)其中:其中:T為某個(gè)函數(shù),給定初值為某個(gè)函數(shù),給定初值r1,r2,rk,可按上式確可按上式確定定rn+1, n=1,2, 隨機(jī)數(shù)序列隨機(jī)數(shù)序列.算法:產(chǎn)生算法:產(chǎn)生0,M區(qū)間上的整數(shù)區(qū)間上的整數(shù)In,然后利用公式,然后利用公式rn=In/M返回返回0,1區(qū)間上的實(shí)數(shù)區(qū)間上的實(shí)數(shù)優(yōu)點(diǎn):優(yōu)點(diǎn):占用計(jì)算機(jī)的內(nèi)存少;占用計(jì)算機(jī)的內(nèi)存少;產(chǎn)生

8、速度快;產(chǎn)生速度快;可以重復(fù)前次的模擬結(jié)果,便于程序的找錯(cuò);可以重復(fù)前次的模擬結(jié)果,便于程序的找錯(cuò);缺點(diǎn):缺點(diǎn): 不滿足隨機(jī)數(shù)之間相互獨(dú)立的要求:公式和初值確定不滿足隨機(jī)數(shù)之間相互獨(dú)立的要求:公式和初值確定后,序列就唯一地確定了;后,序列就唯一地確定了;偽隨機(jī)數(shù)(偽隨機(jī)數(shù)(Pseudo-Random Number) 不滿足均勻性:計(jì)算機(jī)能表示的不滿足均勻性:計(jì)算機(jī)能表示的0,1區(qū)間內(nèi)的數(shù)是有限區(qū)間內(nèi)的數(shù)是有限的(由字長確定)的(由字長確定) 遞推到一定次數(shù)后,出現(xiàn)周期性的重復(fù)現(xiàn)象遞推到一定次數(shù)后,出現(xiàn)周期性的重復(fù)現(xiàn)象第七章第七章均勻分布隨機(jī)數(shù)的產(chǎn)生均勻分布隨機(jī)數(shù)的產(chǎn)生7.3 線性乘同余方法線性

9、乘同余方法(Linear Congruential Method)mcaIInnmod)(1caImca,0,019481948年由年由LehmerLehmer提出的一種產(chǎn)生偽隨機(jī)數(shù)的方法,是最常用的方法。提出的一種產(chǎn)生偽隨機(jī)數(shù)的方法,是最常用的方法。1 1、遞推公式:、遞推公式:其中:其中:I0: 初始值(種子初始值(種子seed) a: 乘法器乘法器 (multiplier) c: 增值(增值(additive constant) m: 模數(shù)(模數(shù)(modulus) mod:取模運(yùn)算:取模運(yùn)算:(aIn+c)除以除以m后的余數(shù)后的余數(shù)a, c和和m皆為整數(shù)皆為整數(shù) 產(chǎn)生整型的隨機(jī)數(shù)序列產(chǎn)生

10、整型的隨機(jī)數(shù)序列,隨機(jī)性來源于取模運(yùn)算隨機(jī)性來源于取模運(yùn)算如果如果c=0 乘同余法:速度更快,也可產(chǎn)生長的隨機(jī)數(shù)序列乘同余法:速度更快,也可產(chǎn)生長的隨機(jī)數(shù)序列1 ,0)1()1 ,0)(mfloatIrmfloatIrnnnn1mImInn2 2、實(shí)型隨機(jī)數(shù)序列:、實(shí)型隨機(jī)數(shù)序列:3、特點(diǎn):、特點(diǎn):1)最大容量為)最大容量為m:mIn02)獨(dú)立性和均勻性取決于參數(shù))獨(dú)立性和均勻性取決于參數(shù)a和和c的選擇的選擇例:例:a=c=I0=7, m=10 7,6,9,0,7,6,9,0,4、模數(shù)、模數(shù)m的選擇:的選擇: m 應(yīng)盡可能地大,因?yàn)樾蛄械闹芷诓豢赡艽笥趹?yīng)盡可能地大,因?yàn)樾蛄械闹芷诓豢赡艽笥趍;

11、 通常將通常將m取為計(jì)算機(jī)所能表示的最大的整型量,在取為計(jì)算機(jī)所能表示的最大的整型量,在32位計(jì)算位計(jì)算機(jī)上,機(jī)上,m=231=2x1095、乘數(shù)因子、乘數(shù)因子a的選擇:的選擇:1961年,年,M. Greenberger證明:用線性乘同余方法產(chǎn)生的隨機(jī)證明:用線性乘同余方法產(chǎn)生的隨機(jī)數(shù)序列具有周期數(shù)序列具有周期m的條件是:的條件是:1. c和和m為互質(zhì)數(shù);為互質(zhì)數(shù);2. a-1是質(zhì)數(shù)是質(zhì)數(shù)p的倍數(shù),其中的倍數(shù),其中p是是a-1和和m的共約數(shù);的共約數(shù);3. 如果如果m是是4的倍數(shù),的倍數(shù),a-1也是也是4的倍數(shù)。的倍數(shù)。例:例:a=5,c=1,m=16,I0=1 周期周期=m=16 1,6,

12、15,12,13,2,11,8,9,14,7,4,5,10,3,0,1,6,15, 12,13,2,.RANDU隨機(jī)數(shù)產(chǎn)生器:隨機(jī)數(shù)產(chǎn)生器:3112mod)65539(nnII1961年由年由IBM提出提出unsigned long seed = 9;float randu() const unsigned long a = 65539; const unsigned long m = pow(2,31); unsigned long i1; i1 = (a * seed) % m; seed = i1; return (float) i1/float(m);void SetSeed(unsi

13、gned long i) seed = i;存在嚴(yán)重的問題:存在嚴(yán)重的問題: MarsagliaMarsaglia效用,存在于所有乘同余方法的產(chǎn)生器效用,存在于所有乘同余方法的產(chǎn)生器void test() c1 = new TCanvas(c1,“Test of random number generator,200,10,700,900); pad1 = new TPad(pad1,“one ,0.03,0.62,0.50,0.92,21); pad2 = new TPad(pad2,“one vs one,0.51,0.62,0.98,0.92,21); pad3 = new TPad(p

14、ad3,“one vs one vs one,0.03,0.02,0.97,0.57,21); pad1-Draw(); pad2-Draw(); pad3-Draw(); TH1F * h1 = new TH1F(h1,h1,100,0.0,1.0); TH2F * h2 = new TH2F(h2,h2,100,0.0,1.0,100,0.0,1.0); TH3F * h3 = new TH3F(h3,h3,100,0.0,1.0,100,0.0,1.0,100,0.0,1.0); for(int i=0; i Fill(x); h2-Fill(x,y); h3-Fill(x,y,z);

15、pad1-cd(); h1-Draw(); pad2-cd(); h2-Draw(); pad3-cd(); h3-Draw(); 如果取如果取a=69069,a=69069,將極大地改善結(jié)果將極大地改善結(jié)果mIbIaInnnmod)(211968年,年,Marsaglia對(duì)這一問題進(jìn)行了研究,認(rèn)為:對(duì)這一問題進(jìn)行了研究,認(rèn)為:任何的乘同余產(chǎn)生器都存在這一問題:在三維和三維以任何的乘同余產(chǎn)生器都存在這一問題:在三維和三維以上的空間中,所產(chǎn)生的隨機(jī)數(shù)總是集聚在一些超平面上上的空間中,所產(chǎn)生的隨機(jī)數(shù)總是集聚在一些超平面上隨機(jī)數(shù)序列是關(guān)聯(lián)的隨機(jī)數(shù)序列是關(guān)聯(lián)的對(duì)于對(duì)于32位的計(jì)算機(jī),在位的計(jì)算機(jī),在d

16、-維空間中超平面的最大數(shù)目為維空間中超平面的最大數(shù)目為d=3 2953d=4 566d=6 120d=10 41改進(jìn)措施:將遞推公式修改為改進(jìn)措施:將遞推公式修改為特點(diǎn):特點(diǎn):1)需要兩個(gè)初始值(種子);)需要兩個(gè)初始值(種子); 2)周期可大于)周期可大于m;#include unsigned long seed0 = 9;unsigned long seed1 = 11;float randac() const unsigned long a = 65539; const unsigned long b = 65539; unsigned long i2; unsigned long m

17、= pow(2,31); i2 = (a * seed1 + b * seed0 ) % m; seed0 = seed1; seed1 = i2; return (float) i1/float(m);void SetSeed(unsigned long i0, unsigned long i1) seed0 = i0; seed1 = i1;a=b=65539, seed0=9, seed1=11如何獲取如何獲取0,1區(qū)間均勻分布的隨機(jī)數(shù)產(chǎn)生器:區(qū)間均勻分布的隨機(jī)數(shù)產(chǎn)生器:1. 每一個(gè)每一個(gè)Monte Carlo模擬程序軟件包都有自帶的產(chǎn)生器:模擬程序軟件包都有自帶的產(chǎn)生器: Jetset(LUND Monte Carlo模擬系列):利用模擬系列):利用Marsaglia等等所提出的算法,周期可達(dá)所提出的算法,周期可達(dá)1043函數(shù)用法:函數(shù)用法:r=rlu(idummy) Geant3(探測(cè)器模擬程序,探測(cè)器模擬程序,F(xiàn)ORTRAN): 周期周期=1018Call grndm(vec*,len).2. 利用利用CERN程序庫:程序庫: Y=rndm(x): 周期:周期:5x108 Y=rn32(dummy):乘同余法,乘同余法,a=69069,i0=65539 Call ra

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論