蒙特卡洛方法的應用

2021-09-27 07:49:25 字數 681 閱讀 8804

#蒙特卡洛方法計算π值:

思路:正方形內部有乙個相切的圓,面積之比是4:π。在這個正方形內部,隨機產生n個點,計算它們與中心點的距離,並且判斷是否落在圓的內部。若這些點均勻分布,則圓周率 pi=4 * count/n, 其中count表示落到圓內投點數,n:表示總的投點數。

import random

def cal_pai():

n = 1000000

r = 1.0

a, b = (0.0, 0.0)

x_neg, x_pos = a - r, a + r

y_neg, y_pos = b - r, b + r

count = 0

for i in range(0, n):

x = random.uniform(x_neg, x_pos)

y = random.uniform(y_neg, y_pos)

if x*x + y*y <= 1.0:

count += 1

print (count / float(n)) * 4

#蒙特卡洛方法計算不規則圖形的面積:

思路:首先可以取乙個邊長為a的正方形,隨機地向正方形內隨機拋一些點,計算落在圖形內部的個數,最後除以丟擲的總個數,得出的值再乘以正方形的面積,這就是不規則面積的估算。而且,丟擲的點數越多,估算越準確。

蒙特卡洛方法

蒙特卡洛方法 monte carlo method,也有翻譯成 蒙特卡羅方法 是以概率和統計的理論 方法為基礎的一種數值計算方法,將所求解的問題同一定的概率模型相聯絡,用計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱隨機抽樣法或統計試驗法。上述就是蒙特卡洛方法的基本概念,比較抽象,下面結合實際...

蒙特卡洛方法

這個演算法是用來求解積分和一些運算的,主要就是通過概率模擬的方法,比如對於 或者積分 import random def calpai n 1000000 r 1.0 a,b 0.0,0.0 x neg,x pos a r,a r y neg,y pos b r,b r count 0 for i ...

蒙特卡洛方法 蒙特卡洛方法概率密度函式

簡介 為了更加清楚的讓同學們深刻的理解pbr裡面那些公式背後的東西,同學們務必先來擼一遍光線追蹤,畢竟我們這裡舉例的這些蒙特卡洛方法都是光線追蹤第三卷裡 ray tracing the rest of your life 的舉例,只不過可能對於有的同學來說,閱讀起來比較難,所以我們來更加詳盡的翻譯或...