1. 程式人生 > >蒙特卡洛法(隨即取樣法) 數模 筆記

蒙特卡洛法(隨即取樣法) 數模 筆記

內容:

簡介、舉例

_________________________________________________________________________________________________________________________________

簡介:蒙特卡洛方法也稱為計算機隨機模擬方法。它是基於對大量事件的統計結果來實現一些確定性問題的計算,使用蒙特卡洛方法必須使用計算機生成相關分佈的隨機數,Matlab給出了生成各種隨機數的命令。

舉例(估算圖形面積):y=x^2、y=12-x與x軸在第一象限圍成一個曲邊三角形。設計一個隨機試驗,求該圖形面積的近似值。

解題思路  設計的隨機試驗思想如下:在矩形區域[0,12]×[0,9]上服從均勻分佈的10^7個隨機點,統計隨機點落在曲邊三角形的頻數,則曲邊三角形的面積近似為上述矩陣的面積乘以頻率。(當然這題積分求起來很簡單,算得49.5。)

Matlab程式:

clc,clear;x=unifrnd(0,12,[1,10000000]);
y=unifrnd(0,9,[1,10000000]);
pinshu=sum(y<x.^2&x<=3)+sum(y<12-x&x>3);
area_appr=12*9*pinshu/10^7;
area_appr
   

某次執行結果:
area_appr =

  49.509748799999997

執行結果在49.5附近,由於是隨機模擬,所有每次的結果都有所不同。