Python 如何在symphy中找到函数的范围

Python 如何在symphy中找到函数的范围,python,python-3.x,math,sympy,Python,Python 3.x,Math,Sympy,我刚开始学习Sympy,我有一些问题。我有一个函数,我想找到该函数的域(所有可能的x值,用于f)和范围(所有可能的y值,用于f),我已经能够使用continuous\u domain获得函数域,但我找不到一种获得范围的方法 这是一个示例函数: from sympy import * from sympy import Symbol, S from sympy.calculus.util import continuous_domain x = Symbol("x") f =

我刚开始学习Sympy,我有一些问题。我有一个函数,我想找到该函数的域(所有可能的
x
值,用于
f
)和范围(所有可能的
y
值,用于
f
),我已经能够使用
continuous\u domain
获得函数域,但我找不到一种获得范围的方法

这是一个示例函数:

from sympy import *
from sympy import Symbol, S
from sympy.calculus.util import continuous_domain

x = Symbol("x")
f = sin(x)/x
domain = continuous_domain(f, x, S.Reals)
print(domain)

在Symphy中是否有任何方法可以获取函数的范围,如果没有,您将如何完成此任务?

从相同的
util.py
中,您可以导入
function\u range
并使用它。通常,为
x
求解
f(x)=y
,并找到其连续域

>>> solve(x**2 - 1 - y,x)
[-sqrt(y + 1), sqrt(y + 1)]
>>> [continuous_domain(i,y,S.Reals) for i in _]
[Interval(-1, oo), Interval(-1, oo)]
但这需要你能够解出表达式…对于
sin(x)/x
(这就是为什么
function\u range
会失败的原因)