1/4圓的面積怎麼算
Monte\ \ Carlo
計算是基於隨機取樣與隨機移動的原理。我們採用
Monte\ \ Carlo
的主要目的是計算經典多體體系的平衡物性。儘管該方法有許多其它的應用,現在我們考察簡單的
Monte \ \ Carlo
程式。
我們採用
Monte\ \ Carlo
方法計算半徑為
1
的
1/4
圓的面積。
我們可任意選取範圍為
(0\leq x\leq 1,0\leq y\leq 1)
的一組隨機數點
P(x_i,y_i)
;
若該點滿足
y_i\leq\sqrt{1-x^2_i}
,即
\sqrt{x_i^2+y_i^2}\leq 1
,則
P
點判定為被接受,反之則捨棄。
設共隨意選取了
N
個隨機點,其中有
n
個點被接受(在圓內),則我們求解的
1/4
圓的面積為
P
點落在
1/4
圓區間的機率乘以矩形的面積,即:
A=\frac{n}{N}\times 1^2
那麼我們所求的面積的真正值為
\pi(i)^2/4=0。785398
。
採用
Python
語言進行計算:
#求解半徑為1的1/4圓的面積Aimport randomimport mathimport matplotlib。pyplot as pltN=20000#迴圈次數n=0#被接受的點數#繪製被接受點的圖片plt。xlim(xmax=1,xmin=0)#畫圖的區域plt。ylim(ymax=1,ymin=0)for i in range(N): xi=random。random()#x為0-1之間的隨機數 yi=random。random()#y為0-1之間的隨機數 y=math。sqrt(1-xi**2) if y>=yi:#當座標點yi小於y時,才符合條件 n=n+1#被接受的點數加1 plt。plot(xi,yi,‘r+’)#將點輸出在圖上plt。show() A=n/N*1*1#面積計算print(A)
計算結果為:
A=0。7835
採用
Fortran \ 77
語言計算:
C MONTE CARLO 計算1/4圓的面積 REAL Y,XI,YI,A ISEED=RTC() N0=0!被接受的點數 N=200000!迴圈次數 DO I=1,N XI=RAN(ISEED)!隨機生成點數xi、yi YI=RAN(ISEED) Y=SQRT(1-XI**2) IF(Y。GE。YI)N0=N0+1!判定是否接受 END DO A=1。0*N0/N WRITE(*,*)A END
計算結果為:
0。7859300