Python中使用sympy库解方程

1 sympy库简介

sympy库是基于Python语言的符号数学计算系统,它的特点是使用符号而不是数字来处理数学问题。

2 符号变量

sympy库是通过符号来处理数学问题,因此在使用sympy库时需要定义符号来表示未知数,这种定义的符号叫做符号变量。之后就可以通过该符号变量来表示数学表达式了。使用sympy库中的symbols()函数来定义符号变量,代码如下所示。

from sympy import *
x = symbols('x')

其中,变量x即为符号变量,表示符号‘x’。还可以通过symbols()函数定义多个符号变量,代码如下所示。

x, y, z = symbols('x, y, z')

3 解方程

定义了符号变量之后,就可以通过符号变量来表示方程了。

3.1 求解一元一次方程

一元一次方程“2x-3=5”,用符号变量就可以表示为“2*x-3-5”,之后通过sympy的solve()函数求解该方程,代码如下所示。

>>> ex = 2*x-3-5
>>> solve(ex, x)
[4]

solve()函数的第一个参数表示由符号变量表示的方程,第二个参数指定了符号变量,得到的结果是列表,该列表中的元素即为方程的解。

3.2 求解一元二次方程

对于二元一次方程“x2-2x+3=2”,求解代码如下所示:

>>> ex = x**2-2*x+3-2
>>> solve(ex, x)
[1]

该二元一次方程的解是1。

3.3 求解方程组

对于方程组“2x-y=3  3x+y=7”,使用以下代码进行求解。

>>> x, y = symbols('x, y')
>>> ex1 = 2*x-y-3
>>> ex2 = 3*x+y-7
>>> solve([ex1, ex2], [x, y])
{x: 2, y: 1}

其中,对于求解方程组,将solve()函数的第一个参数设置为列表,该列表中的每个元素表示方程组中的每个方程;第二个参数也设置为列表,该列表中的每个元素表示方程组的未知数。

需要注意的是:如果未安装sympy库,则需要在控制台中通过pip install sympy指令进行安装。

猜你喜欢

转载自blog.csdn.net/hou09tian/article/details/131966374