Skip to main content
 首页 » 编程设计

python之使用蒙特卡洛方法绘制 Pi

2025年05月04日13zdz8207

我可以通过 Python 使用不同的数据点评估 pi 的值。但是对于每次重复,我都想像这样绘制散点图:

我使用蒙特卡洛方法查找 pi 的 python 代码是:

from random import * 
from math import sqrt 
inside=0 
n=10**6 
for i in range(0,n): 
    x=random() 
    y=random() 
    if sqrt(x*x+y*y)<=1: 
        inside+=1 
pi=4*inside/n 
print (pi) 

请您参考如下方法:

如果你得到关于后端的错误,使用这个:

import matplotlib as mp 
mp.use('Tkagg') 

这会将后端设置为使用 Tkinter 用户界面工具包的 TkAgg。

import numpy as np 
import matplotlib.pyplot as plt 
 
n=1e3 
x = 1-2*np.random.random(int(n)) 
y = 1-2.*np.random.random(int(n)) 
insideX,  insideY  = x[(x*x+y*y)<=1],y[(x*x+y*y)<=1] 
outsideX, outsideY = x[(x*x+y*y)>1],y[(x*x+y*y)>1] 
 
fig, ax = plt.subplots(1) 
ax.scatter(insideX, insideY, c='b', alpha=0.8, edgecolor=None) 
ax.scatter(outsideX, outsideY, c='r', alpha=0.8, edgecolor=None) 
ax.set_aspect('equal') 
fig.show()