首先,定义符号

from sympy import *
x, y, z = symbols('x y z')

1.关于方程:

Sympy中的符号方程式不是用=========表示,而是用等式eq表示。

Eq(x, y)

Out[1]: 
x = y

#在Sympy中,求解函数会自动将不在Eq中的任何表达式假定为0。

solveset(Eq(x**2, 1), x)

Out[2]: so
{-1, 1}

solveset(Eq(x**2 -1, 0), x)

Out[3]: 
{-1, 1}

solveset(x**2 -1, x)
# 即你想求解的表达式已经等于0,如此输入十分有用
Out[4]: 
{-1, 1}

2.求解方程式:

solveset():
求解方程的主要函数是solveset()。

语法:solveset(eq, variable=None, domain=S.Complexes),eq形式见1.关于方程

Note:还有一个求解的函数,为solve(eq, variables),官方文档建议用solveset()

当求解单个方程式时,solveset的输出为FiniteSet或Interval或ImageSet。

solveset(x**2 - x, x)

Out[5]: 
{0, 1}

solveset(x - x, x, domain=S.Reals)

Out[6]: 
ℝ

solveset(sin(x) - 1, x, domain=S.Reals)

Out[7]: 
{2𝑛𝜋+𝜋/2|𝑛∈ℤ}

如果没有解决方案,则返回EmptySet ,如果找不到解决方案,则返ConditionSet。

solveset(exp(x), x)
# 没有解决方案
Out[8]:
∅

solveset(cos(x) - x, x)
# 找不到解决方案
Out[9]:
{𝑥∣𝑥∈ℂ∧−𝑥+cos(𝑥)=0}
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐