首页 > 其他 > 详细

sympy库的使用(六)解方程

时间:2021-04-20 14:00:05      阅读:23      评论:0      收藏:0      [点我收藏+]

一、方程式

SymPy中方程式不是用“=”表示相等,而是使用Eq

from sympy import *
x, y, z = symbols(x y z)
init_printing(use_unicode=True)

Eq(x, y)

技术分享图片

 

还可以这样表达

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

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

#这里默认等于0
solveset(x**2 - 1, x)

技术分享图片

 

 

二、求解方程

求解方程是要函数是solveset,使用语法是solveset(equation, variable=None, domain=S.Complexes),分别是等式(默认等于0,),变量,定义域。

请注意,函数solve也可以用于求解方程式,solve(equations, variables)

solveset(x**2 - x, x)

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

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

技术分享图片

 

 如果是无解,返回空,如果找不到解,返回表达式

solveset(exp(x), x)     # No solution exists

solveset(cos(x) - x, x)  # Not able to find solution

技术分享图片

 

 

三、求线性方程组

求解线性方程组linsolve

方程列表形式:

linsolve([x + y + z - 1, x + y + 2*z - 3 ], (x, y, z))

技术分享图片

 

 矩阵形式:

只写前面的系数

linsolve(Matrix(([1, 1, 1, 1], [1, 1, 2, 3])), (x, y, z))

技术分享图片

 

sympy库的使用(六)解方程

原文:https://www.cnblogs.com/cgmcoding/p/14680457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!