如何在 sympy 中找到可接受的区域?
How to find a region of acceptability in sympy?
首先,对于“可接受区域”的机器翻译表示抱歉,我不确定这正是我的意思。 “可接受区域”必须告诉我 f(x)
存在的位置。
我正在使用 sumpy
编写一个脚本,它将给我一个完整的 f(x)
分析:
f(x)=0
、d/dxf(x)=0
、“可接受范围”等
我正在搜索 sympy
中的哪个函数以及如何正确使用它?
sympy 中有一个名为 singularities
的函数,它试图识别给定符号中表达式的奇点集:
In [21]: from sympy import *
In [22]: x = Symbol('x', complex=True)
In [23]: expr = x**2 / ((1 - x) * (2 + x**2))
In [24]: expr
Out[24]:
2
x
────────────────
⎛ 2 ⎞
(1 - x)⋅⎝x + 2⎠
In [25]: singularities(expr, x)
Out[25]: {1, -√2⋅ⅈ, √2⋅ⅈ}
如果函数的更广域应该是实数,那么您可以使用集合减法从实数集中移除这些奇点:
In [26]: Reals - singularities(expr, x)
Out[26]: (-∞, 1) ∪ (1, ∞)
您还可以将其转换为 x
上的关系:
In [27]: (Reals - singularities(expr, x)).as_relational(x)
Out[27]: x ≠ 1
首先,对于“可接受区域”的机器翻译表示抱歉,我不确定这正是我的意思。 “可接受区域”必须告诉我 f(x)
存在的位置。
我正在使用 sumpy
编写一个脚本,它将给我一个完整的 f(x)
分析:
f(x)=0
、d/dxf(x)=0
、“可接受范围”等
我正在搜索 sympy
中的哪个函数以及如何正确使用它?
sympy 中有一个名为 singularities
的函数,它试图识别给定符号中表达式的奇点集:
In [21]: from sympy import *
In [22]: x = Symbol('x', complex=True)
In [23]: expr = x**2 / ((1 - x) * (2 + x**2))
In [24]: expr
Out[24]:
2
x
────────────────
⎛ 2 ⎞
(1 - x)⋅⎝x + 2⎠
In [25]: singularities(expr, x)
Out[25]: {1, -√2⋅ⅈ, √2⋅ⅈ}
如果函数的更广域应该是实数,那么您可以使用集合减法从实数集中移除这些奇点:
In [26]: Reals - singularities(expr, x)
Out[26]: (-∞, 1) ∪ (1, ∞)
您还可以将其转换为 x
上的关系:
In [27]: (Reals - singularities(expr, x)).as_relational(x)
Out[27]: x ≠ 1