我可以通过 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()
关于python - 使用蒙特卡洛方法绘制 Pi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43703757/