【sympy】sympy解算Eq 求解方程式

首先,定义符号

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}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值