• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      蒙特卡羅方法模擬計算圓周率

      2014-07-28 00:14彭滔魏雷陽
      電腦知識與技術 2014年17期
      關鍵詞:R語言

      彭滔 魏雷陽

      摘要:蒙特卡羅方法是一種新型計算方法,它需要真實的隨機數(shù),在統(tǒng)計學方面有強有力的應用,隨著高性能計算機變得越來越便宜,此方面變得愈發(fā)普遍,該文通過設計一個隨機試驗,建立pi值與試驗次數(shù)的聯(lián)系方程,使用R語言來模擬計算PI值。

      關鍵詞:蒙特卡羅方法;隨機模擬;R語言

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)17-4038-02

      A New Way to Compute Simulately PI with Monte Carlo Method in R Language

      PENG Tao, WEI Lei-yang

      (Sanya Polythenic College, Sanya 572022, China)

      Abstract: Monte Carlo methods is a new way of computational algorithms, basically Monte Carlo simulation methods require truly random numbers , Monte Carlo is a powerful numerical technique useful for solving problems especially in statistics. When high-speed computers becomes cheap,the method has gained in importance and popularity,when a circle with its bounding square is drawn,let randomly generate a point in the squre, the probability that the point falls in the circle is circle area /square area = PI/4,we can get pi from the equation.We finish the stochastic simulation with R language in the article.

      Key words: Monte Carlo methods; stochastic simulation; R languange

      1 蒙特卡羅方法簡介

      蒙特卡羅方法是一種隨機模擬方法,以概率和統(tǒng)計理論方法為基礎,使用隨機數(shù)(或更常見的偽隨機數(shù))來解決計算問題的方法。其早期的雛形存在于17-18世紀,1777年法國數(shù)學家普豐(Georges Louis Leclere de Buffon,1707—1788)提出用投針實驗的方法求圓周率π,統(tǒng)計史上稱為普豐投針問題。

      在平面上畫有一組間距為a的平行線,將一根長度為l(l

      p=2l/(πa) π為圓周率。

      幾個世紀以來,先后有無數(shù)人重復了這個試驗,比較有名氣的試驗見下表。

      該方法的簡要步驟概括如下:

      1)根據(jù)概率論或統(tǒng)計理論建立一個數(shù)學模型(方程、等式或不等式)

      2)以人工試驗的方法進行大量的重復工作,記錄每次試驗的結果

      3)利用概率的統(tǒng)計定義,歸納全部試驗結果,從已經建立的模型中,解出研究對象的數(shù)值。

      由于該方法涉及大量的手工試驗,在計算機技術沒有發(fā)展之前,缺乏推廣,導致使用受限。

      20世紀40年代美國在第二次世界大戰(zhàn)中,為了研制原子彈,力推“曼哈頓計劃”,該計算的成員S.M.烏拉姆和J.馮·諾伊曼結合當時已有的計算技術,重新推出這種統(tǒng)計模擬計算方法,他們以馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,蒙特卡羅方法。該方法與普豐投針時代的做法完全類似,同樣可以分解成3個計算步驟(或成為算法),唯一的區(qū)別在于,用編寫的計算機程序自動運行,取代了手工試驗的方式,該方法結合了計算的強大運行能力,產生了良好的效果,在金融工程學,宏觀經濟學,生物醫(yī)學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算、核工程)等領域應用廣泛。

      蒙特卡洛方法適用范圍很廣泛,它既能求解確定性的問題,也能求解隨機性的問題以及科學研究中的理論問題.例如利用蒙特卡洛方法可以近似地計算定積分,即產生數(shù)值積分問題。

      2 蒙特卡羅算法

      我們根據(jù)現(xiàn)有的計算技術,重新整理蒙特卡羅算法,并用R語言實現(xiàn)一個簡單的莫特卡羅模擬,計算出圓周率。

      假定有個半徑是1的圓,這個圓有個外接的正方形,換句話說:這個單位圓內接于一個邊長為2的正方形,我們截取1/4 個圓周,在這個區(qū)域內,隨機繪制點,圓內的點用紅點標示,園外的點(仍舊在正方形內)用綠點標示,總計做了n次試驗,每次產生一個點,共有n1個點(紅點)在園內(含正好落在圓周上),n2個點(綠點)在園外,n1+n2=n,如何計算圓周率?

      園內的紅點/所有的點=圓的面積/正方形的面積=PI*r*r/(2*r)*(2*r)

      PI=4*圓內的紅點/所有的點=4*圓內的紅點/總試驗次數(shù)

      3 R語言實現(xiàn)

      根據(jù)上面的方程,我們可以用R語言編制計算程序。

      設計一個可以重復使用的函數(shù),參數(shù)表示試驗次數(shù),由于對稱性,只需考慮1/4個圓周即可,我們取第一象限作為研究對象,每次試驗在0,1內隨機產生一個x值,一個y值,一對(x,y)構成一個點,每個點如果滿足x^2 +y^2 <= 1,表明它落在園內,園內的計數(shù)增加1。通過for循環(huán)完成上面的步驟。

      getpi <- function(number){

      0 → count

      for( i in 1:number){ #用循環(huán)進行計算

      runif(1,0,1) → x #產生隨機數(shù)

      runif(1,0,1) → y #產生隨機數(shù)

      if (x^2 +y^2 <= 1 ) count <- count+1 } #判斷點的位置

      return(4*count/number) } #返回計算結果

      getpi(1000) 模擬1000次試驗

      [1] 3.104

      getpi(100000) 模擬100000次試驗

      [1] 3.14268

      至此,我們用R語言演示了構造整個蒙特卡洛模擬的過程,得到了PI的近似值,由于程序使用的是偽隨機數(shù),計算精度受到一定影響,現(xiàn)代信息技術可以利用數(shù)學思想進行高效率的實現(xiàn),避免手工試驗的低效枯燥,R語言聊聊7行完成這樣一個算法,其編程的效率令人震驚,R語言是最強大的統(tǒng)計計算工具。

      參考文獻:

      [1] 陳希孺.概率論與數(shù)理統(tǒng)計[M].合肥:中國科學技術大學出版社,2009.

      [2] MBA智庫百科[EB/OL].http://wiki.mbalib.com/wiki/蒙特卡羅方法?.

      [3] R語言 R: A Language and Environment for Statistical Computing Vienna, Austria 2013[EB/OL].http://www.R-project.org/.

      摘要:蒙特卡羅方法是一種新型計算方法,它需要真實的隨機數(shù),在統(tǒng)計學方面有強有力的應用,隨著高性能計算機變得越來越便宜,此方面變得愈發(fā)普遍,該文通過設計一個隨機試驗,建立pi值與試驗次數(shù)的聯(lián)系方程,使用R語言來模擬計算PI值。

      關鍵詞:蒙特卡羅方法;隨機模擬;R語言

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)17-4038-02

      A New Way to Compute Simulately PI with Monte Carlo Method in R Language

      PENG Tao, WEI Lei-yang

      (Sanya Polythenic College, Sanya 572022, China)

      Abstract: Monte Carlo methods is a new way of computational algorithms, basically Monte Carlo simulation methods require truly random numbers , Monte Carlo is a powerful numerical technique useful for solving problems especially in statistics. When high-speed computers becomes cheap,the method has gained in importance and popularity,when a circle with its bounding square is drawn,let randomly generate a point in the squre, the probability that the point falls in the circle is circle area /square area = PI/4,we can get pi from the equation.We finish the stochastic simulation with R language in the article.

      Key words: Monte Carlo methods; stochastic simulation; R languange

      1 蒙特卡羅方法簡介

      蒙特卡羅方法是一種隨機模擬方法,以概率和統(tǒng)計理論方法為基礎,使用隨機數(shù)(或更常見的偽隨機數(shù))來解決計算問題的方法。其早期的雛形存在于17-18世紀,1777年法國數(shù)學家普豐(Georges Louis Leclere de Buffon,1707—1788)提出用投針實驗的方法求圓周率π,統(tǒng)計史上稱為普豐投針問題。

      在平面上畫有一組間距為a的平行線,將一根長度為l(l

      p=2l/(πa) π為圓周率。

      幾個世紀以來,先后有無數(shù)人重復了這個試驗,比較有名氣的試驗見下表。

      該方法的簡要步驟概括如下:

      1)根據(jù)概率論或統(tǒng)計理論建立一個數(shù)學模型(方程、等式或不等式)

      2)以人工試驗的方法進行大量的重復工作,記錄每次試驗的結果

      3)利用概率的統(tǒng)計定義,歸納全部試驗結果,從已經建立的模型中,解出研究對象的數(shù)值。

      由于該方法涉及大量的手工試驗,在計算機技術沒有發(fā)展之前,缺乏推廣,導致使用受限。

      20世紀40年代美國在第二次世界大戰(zhàn)中,為了研制原子彈,力推“曼哈頓計劃”,該計算的成員S.M.烏拉姆和J.馮·諾伊曼結合當時已有的計算技術,重新推出這種統(tǒng)計模擬計算方法,他們以馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,蒙特卡羅方法。該方法與普豐投針時代的做法完全類似,同樣可以分解成3個計算步驟(或成為算法),唯一的區(qū)別在于,用編寫的計算機程序自動運行,取代了手工試驗的方式,該方法結合了計算的強大運行能力,產生了良好的效果,在金融工程學,宏觀經濟學,生物醫(yī)學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算、核工程)等領域應用廣泛。

      蒙特卡洛方法適用范圍很廣泛,它既能求解確定性的問題,也能求解隨機性的問題以及科學研究中的理論問題.例如利用蒙特卡洛方法可以近似地計算定積分,即產生數(shù)值積分問題。

      2 蒙特卡羅算法

      我們根據(jù)現(xiàn)有的計算技術,重新整理蒙特卡羅算法,并用R語言實現(xiàn)一個簡單的莫特卡羅模擬,計算出圓周率。

      假定有個半徑是1的圓,這個圓有個外接的正方形,換句話說:這個單位圓內接于一個邊長為2的正方形,我們截取1/4 個圓周,在這個區(qū)域內,隨機繪制點,圓內的點用紅點標示,園外的點(仍舊在正方形內)用綠點標示,總計做了n次試驗,每次產生一個點,共有n1個點(紅點)在園內(含正好落在圓周上),n2個點(綠點)在園外,n1+n2=n,如何計算圓周率?

      園內的紅點/所有的點=圓的面積/正方形的面積=PI*r*r/(2*r)*(2*r)

      PI=4*圓內的紅點/所有的點=4*圓內的紅點/總試驗次數(shù)

      3 R語言實現(xiàn)

      根據(jù)上面的方程,我們可以用R語言編制計算程序。

      設計一個可以重復使用的函數(shù),參數(shù)表示試驗次數(shù),由于對稱性,只需考慮1/4個圓周即可,我們取第一象限作為研究對象,每次試驗在0,1內隨機產生一個x值,一個y值,一對(x,y)構成一個點,每個點如果滿足x^2 +y^2 <= 1,表明它落在園內,園內的計數(shù)增加1。通過for循環(huán)完成上面的步驟。

      getpi <- function(number){

      0 → count

      for( i in 1:number){ #用循環(huán)進行計算

      runif(1,0,1) → x #產生隨機數(shù)

      runif(1,0,1) → y #產生隨機數(shù)

      if (x^2 +y^2 <= 1 ) count <- count+1 } #判斷點的位置

      return(4*count/number) } #返回計算結果

      getpi(1000) 模擬1000次試驗

      [1] 3.104

      getpi(100000) 模擬100000次試驗

      [1] 3.14268

      至此,我們用R語言演示了構造整個蒙特卡洛模擬的過程,得到了PI的近似值,由于程序使用的是偽隨機數(shù),計算精度受到一定影響,現(xiàn)代信息技術可以利用數(shù)學思想進行高效率的實現(xiàn),避免手工試驗的低效枯燥,R語言聊聊7行完成這樣一個算法,其編程的效率令人震驚,R語言是最強大的統(tǒng)計計算工具。

      參考文獻:

      [1] 陳希孺.概率論與數(shù)理統(tǒng)計[M].合肥:中國科學技術大學出版社,2009.

      [2] MBA智庫百科[EB/OL].http://wiki.mbalib.com/wiki/蒙特卡羅方法?.

      [3] R語言 R: A Language and Environment for Statistical Computing Vienna, Austria 2013[EB/OL].http://www.R-project.org/.

      摘要:蒙特卡羅方法是一種新型計算方法,它需要真實的隨機數(shù),在統(tǒng)計學方面有強有力的應用,隨著高性能計算機變得越來越便宜,此方面變得愈發(fā)普遍,該文通過設計一個隨機試驗,建立pi值與試驗次數(shù)的聯(lián)系方程,使用R語言來模擬計算PI值。

      關鍵詞:蒙特卡羅方法;隨機模擬;R語言

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)17-4038-02

      A New Way to Compute Simulately PI with Monte Carlo Method in R Language

      PENG Tao, WEI Lei-yang

      (Sanya Polythenic College, Sanya 572022, China)

      Abstract: Monte Carlo methods is a new way of computational algorithms, basically Monte Carlo simulation methods require truly random numbers , Monte Carlo is a powerful numerical technique useful for solving problems especially in statistics. When high-speed computers becomes cheap,the method has gained in importance and popularity,when a circle with its bounding square is drawn,let randomly generate a point in the squre, the probability that the point falls in the circle is circle area /square area = PI/4,we can get pi from the equation.We finish the stochastic simulation with R language in the article.

      Key words: Monte Carlo methods; stochastic simulation; R languange

      1 蒙特卡羅方法簡介

      蒙特卡羅方法是一種隨機模擬方法,以概率和統(tǒng)計理論方法為基礎,使用隨機數(shù)(或更常見的偽隨機數(shù))來解決計算問題的方法。其早期的雛形存在于17-18世紀,1777年法國數(shù)學家普豐(Georges Louis Leclere de Buffon,1707—1788)提出用投針實驗的方法求圓周率π,統(tǒng)計史上稱為普豐投針問題。

      在平面上畫有一組間距為a的平行線,將一根長度為l(l

      p=2l/(πa) π為圓周率。

      幾個世紀以來,先后有無數(shù)人重復了這個試驗,比較有名氣的試驗見下表。

      該方法的簡要步驟概括如下:

      1)根據(jù)概率論或統(tǒng)計理論建立一個數(shù)學模型(方程、等式或不等式)

      2)以人工試驗的方法進行大量的重復工作,記錄每次試驗的結果

      3)利用概率的統(tǒng)計定義,歸納全部試驗結果,從已經建立的模型中,解出研究對象的數(shù)值。

      由于該方法涉及大量的手工試驗,在計算機技術沒有發(fā)展之前,缺乏推廣,導致使用受限。

      20世紀40年代美國在第二次世界大戰(zhàn)中,為了研制原子彈,力推“曼哈頓計劃”,該計算的成員S.M.烏拉姆和J.馮·諾伊曼結合當時已有的計算技術,重新推出這種統(tǒng)計模擬計算方法,他們以馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,蒙特卡羅方法。該方法與普豐投針時代的做法完全類似,同樣可以分解成3個計算步驟(或成為算法),唯一的區(qū)別在于,用編寫的計算機程序自動運行,取代了手工試驗的方式,該方法結合了計算的強大運行能力,產生了良好的效果,在金融工程學,宏觀經濟學,生物醫(yī)學,計算物理學(如粒子輸運計算、量子熱力學計算、空氣動力學計算、核工程)等領域應用廣泛。

      蒙特卡洛方法適用范圍很廣泛,它既能求解確定性的問題,也能求解隨機性的問題以及科學研究中的理論問題.例如利用蒙特卡洛方法可以近似地計算定積分,即產生數(shù)值積分問題。

      2 蒙特卡羅算法

      我們根據(jù)現(xiàn)有的計算技術,重新整理蒙特卡羅算法,并用R語言實現(xiàn)一個簡單的莫特卡羅模擬,計算出圓周率。

      假定有個半徑是1的圓,這個圓有個外接的正方形,換句話說:這個單位圓內接于一個邊長為2的正方形,我們截取1/4 個圓周,在這個區(qū)域內,隨機繪制點,圓內的點用紅點標示,園外的點(仍舊在正方形內)用綠點標示,總計做了n次試驗,每次產生一個點,共有n1個點(紅點)在園內(含正好落在圓周上),n2個點(綠點)在園外,n1+n2=n,如何計算圓周率?

      園內的紅點/所有的點=圓的面積/正方形的面積=PI*r*r/(2*r)*(2*r)

      PI=4*圓內的紅點/所有的點=4*圓內的紅點/總試驗次數(shù)

      3 R語言實現(xiàn)

      根據(jù)上面的方程,我們可以用R語言編制計算程序。

      設計一個可以重復使用的函數(shù),參數(shù)表示試驗次數(shù),由于對稱性,只需考慮1/4個圓周即可,我們取第一象限作為研究對象,每次試驗在0,1內隨機產生一個x值,一個y值,一對(x,y)構成一個點,每個點如果滿足x^2 +y^2 <= 1,表明它落在園內,園內的計數(shù)增加1。通過for循環(huán)完成上面的步驟。

      getpi <- function(number){

      0 → count

      for( i in 1:number){ #用循環(huán)進行計算

      runif(1,0,1) → x #產生隨機數(shù)

      runif(1,0,1) → y #產生隨機數(shù)

      if (x^2 +y^2 <= 1 ) count <- count+1 } #判斷點的位置

      return(4*count/number) } #返回計算結果

      getpi(1000) 模擬1000次試驗

      [1] 3.104

      getpi(100000) 模擬100000次試驗

      [1] 3.14268

      至此,我們用R語言演示了構造整個蒙特卡洛模擬的過程,得到了PI的近似值,由于程序使用的是偽隨機數(shù),計算精度受到一定影響,現(xiàn)代信息技術可以利用數(shù)學思想進行高效率的實現(xiàn),避免手工試驗的低效枯燥,R語言聊聊7行完成這樣一個算法,其編程的效率令人震驚,R語言是最強大的統(tǒng)計計算工具。

      參考文獻:

      [1] 陳希孺.概率論與數(shù)理統(tǒng)計[M].合肥:中國科學技術大學出版社,2009.

      [2] MBA智庫百科[EB/OL].http://wiki.mbalib.com/wiki/蒙特卡羅方法?.

      [3] R語言 R: A Language and Environment for Statistical Computing Vienna, Austria 2013[EB/OL].http://www.R-project.org/.

      猜你喜歡
      R語言
      基于Holt—Winters時間序列的圖書選題預測模型
      基于R語言的轎車銷量分析基于R語言的轎車銷量分析
      基于R語言時間序列的轎車銷量分析及預測
      R語言在統(tǒng)計分析中的使用技巧
      基于R語言的學生成績分析
      基于GPS軌跡數(shù)據(jù)進行分析改善城市交通擁擠
      基于R語言的Moodle平臺數(shù)據(jù)挖掘技術的研究
      基于R語言的湖南產業(yè)結構對其經濟增長貢獻分析
      注重統(tǒng)計思維培養(yǎng)與應用為主導的生物統(tǒng)計學課程建設
      人民幣匯率的均值回復檢驗及Hurst指數(shù)計算
      绥江县| 安化县| 大冶市| 西平县| 宜宾市| 昭觉县| 郑州市| 新野县| 康保县| 唐河县| 手游| 湘潭市| 巴塘县| 牡丹江市| 武宣县| 开平市| 攀枝花市| 体育| 新巴尔虎左旗| 丹江口市| 绥宁县| 北流市| 毕节市| 西乌珠穆沁旗| 芷江| 张北县| 姚安县| 枣庄市| 沈阳市| 霍林郭勒市| 吴江市| 田阳县| 镇平县| 朝阳区| 秦安县| 大城县| 同德县| 龙里县| 江口县| 绿春县| 红桥区|