python - 如何使用 sympy 在 python 中查找函数的域

标签 python sympy

我正在编写一个 Python 脚本,该脚本将数学函数作为输入并输出有用的信息来为该函数绘制曲线(切线、交点、渐近线等),第一步是找到定义域该函数的(当该函数有效时,例如:1/x-2 df=]-∞,2[U]2,+∞[),我需要使用 sympy 来完成。 下面是WIP代码

from sympy import *
from fractions import *

x = symbols('x')
f = Function('f')
f = input('type function: ')
fp = diff(f)
sol = solve(f, x)
sol_p = solve(fp, x)
print(f"f(x)={f},f'(x)={fp}")
#print(f"x1={sol[0]},x2={sol[1]},x'={sol_p}")
print(f'{len(sol)}')
psol = {}
limits_at_edges = {}
df = solveset(f, x, domain=S.Reals)

for i in range(1,( len(sol) + 1)):                     # Prints out every item in sol[] after aplying .evalf()
    psol["x" + str(i) ] = sol[i - 1].evalf()
for i in range(1, len(sol) + 1):
    limits_at_edges[f'limit x -> x{i} f(x)'] = limit(f, x, sol[i - 1])

print(f'Solution:{sol}')
print(f'Processes solution:{psol}')
print(f'Derivative solution:{sol_p}')
print(limits_at_edges)
print(f'Domain:{df}')
pprint(f, use_unicode=True)

最佳答案

这个问题类似于How to know whether a function is continuous with sympy?

这可以使用 continuous_domain 来完成,如 here 所解释的那样.

关于python - 如何使用 sympy 在 python 中查找函数的域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55834798/

相关文章:

python - Lambdify 或评估 CoordSys3D

python - 函数矩阵、SymPy 和 SciPy 的数值积分

python - sympy:如何保存 "solve"处的解决方案以供重复使用?

python - 如何在 gspread 中使用 batch_update 插入行和更改单元格样式?

python - 如何在具有多个值的 div 类中查找 ID BS4 Python

python - 使用字符串操作或正则表达式排除非特定格式的抓取结果

Python Pandas self join 用于合并笛卡尔积以产生所有组合和总和

python-3.x - 在 SymPy 中定义保存数值的符号

Python - 同情 : how to compute lie derivative

Python Pandas - 为什么 `in` 运算符适用于索引而不适用于数据?