python - Sympy:集合的概率度量
问题描述
在尝试像这样计算有界集的概率时:
from sympy.stats import Normal, P
from sympy import Interval
n = Normal("n", 0, 1)
P(n in Interval(-1, 1))
我收到以下错误:
TypeError: did not evaluate to a bool: (-1 <= n) & (n <= 1)
如何处理?
解决方案
要使用Interval()
你必须调用它的contains()
方法:
P(Interval(-1,1).contains(n))
正如文档中关于使用in
with Interval()
(这里) 的说明:
作为一种快捷方式,可以使用“in”运算符,但这会引发错误,除非没有获得肯定的真或假。[..] 'in' 的结果是布尔值,而不是 SymPy 值。
或者,您可以直接制定概率函数内部的条件:
P((n >-1) & (n<1))
推荐阅读
- javascript - jQuery模式窗口不隐藏
- c++ - Visual Studio LNK2019:完成构建项目“project.vcxproj”——失败
- python - 如何使用 Python,Pyglet 移动精灵?
- ruby-on-rails - Ruby on Ruby 记录具有相同 id 的冗余行
- c# - 如何使用 BinaryReader.ReadBytes(Int32) 读取负二进制数据
- c++ - 在 0 处显式启动 C/C++ 枚举的原因
- azure-devops - 自动向 Azure DevOps 中的所有拉取请求添加注释
- c++ - 逆时针方向旋转矩阵90度,我哪里错了
- reactjs - React Redux 获取连接组件中的当前路径
- python - 如何将 shap.DeepExplainer (SwigPyObject) 保存到文件中?