- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在jupyter笔记本的python3环境中使用蒙特卡罗方法求出球体的体积。但我讲师代码中的方法示例似乎没有意义。
我被指示修改我的讲师的代码,该代码使用蒙特卡罗方法通过单位正方形中的圆来查找 pi;然而,当我运行他们的代码时,我得到的 pi 值为 0.04,这太小了。我知道如何调整它来找到球体的体积,但我得到的答案又太小了。以下是讲师的代码。
import numpy as np
n = 100
x = np.random.random(n)
y = np.random.random(n)
z = np.sqrt(x**2 + y**2)
ninside = len( np.where(z < 1.) )
pi = 1.*ninside/n * 4.
print(pi)
当你运行代码并打印pi
时,你会得到0.04
,这显然不正确,它应该大约是3.14
。这段代码应该如何工作以及我应该如何使用蒙特卡罗方法来找到球体的体积?
最佳答案
替换
ninside = len( np.where(z < 1.) )
与
ninside = len( np.where(z < 1.)[0] )
np.where()
返回一个元组,因此在获取长度之前需要将数组从元组中取出。
在调试此类内容时,我建议在解释器中逐行运行它并检查每个新变量的值。
这就是我发现的len(np.where(z < 1.))
一直是1,然后我查看了np.where(z < 1.)
的值,发现它是一个元组,里面有一个数组。
关于python - 如何在Python中使用蒙特卡罗方法求球体的体积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55444441/
我正在编写一个 c 脚本来将 pi 近似与 OpenMp 并行化。我认为我的代码运行良好,输出令人信服。我现在用 4 个线程运行它。我不确定的是这段代码是否容易受到竞争条件的影响?如果是,我该如何协调
我现在正在学习拉斯维加斯和蒙特卡洛算法自己,有两个问题可能很简单但我无法回答,如果有人能帮助我......提前谢谢 考虑针对问题 P 的蒙特卡洛算法 A,其预期运行时间在任何大小为 n 的实例上至多为
在 Sutton's book on RL ,在蒙特卡罗政策评估下,他在第 111 页提到注意估计单个状态值的计算费用与状态数量无关。然而,对于蒙特卡洛来说: 状态的平均返回是从第一次遇到该状态时到该
我是一名优秀的程序员,十分优秀!