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

标签 python

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

我使用蒙特卡洛方法查找 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()

enter image description here

关于python - 使用蒙特卡洛方法绘制 Pi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43703757/

相关文章:

python - 使用 selenium 和 python 从 Iframe 获取文本

python - 如何检查在 Dask 上调用计算是否安全?

python - 在 Python 2.7 中计算和存储函数输出?

python - Django filter().exists 总是返回 false

python - Windows 上的 Electron 重建串行端口错误

python - 如何计算自不带零的列标记以来的天数?

python - 函数定义如范围

python - GAE - Flask 无法从子目录导入 Jinja2?

python - django-admin.py startproject 忽略隐藏文件

php - 如何将多个变量从 php 传递到 python 脚本