如何在 Sympy 中找到函数的范围

问题描述 投票:0回答:2

我正在开始使用 Sympy,但有一些问题。我有一个函数,我想找到该函数的域(

x
的所有可能的
f
值)和范围(
y
的所有可能的
f
值),我已经能够得到使用
continuous_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)

Sympy 有没有办法获取函数的范围,如果没有,你将如何完成这个任务?

python python-3.x math sympy
2个回答
1
投票

从同一个

util.py
中,您可以导入
function_range
并使用它。一般来说,求解
f(x) = y
得到
x
并找到其连续域。

>>> 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_range
会失败)。


0
投票

范围 = sympy.calculus.util.function_range(f, x, 域)

© www.soinside.com 2019 - 2024. All rights reserved.