📅  最后修改于: 2023-12-03 14:52:35.151000             🧑  作者: Mango
Sympy 是一个用 Python 编写的符号数学库,旨在成为一个完整的符号数学系统。在 Sympy 中,我们可以通过定义符号变量来声明代数表达式,并再次使用这些符号变量进行运算。在这篇文章中,我们将深入探讨如何在 Sympy 中评估代数表达式。
在 Sympy 中,我们使用 symbols()
函数来定义符号变量。该函数返回一个符号对象,该对象具有指定名称的属性。例如,要定义符号变量 x
和 y
,可以使用以下代码:
from sympy import symbols
x, y = symbols('x y')
现在我们有两个符号变量 x
和 y
,我们可以使用它们来声明代数表达式。
在 Sympy 中,我们可以使用符号变量和运算符来声明任意数量的代数表达式。例如,要声明 x + y
和 x * y
,可以使用以下代码:
from sympy import symbols
x, y = symbols('x y')
expr1 = x + y
expr2 = x * y
我们还可以使用一些常见的数学函数,例如 sin()
,cos()
和 sqrt()
等来声明表达式。例如,要声明表达式 sin(x) + cos(y)
,可以使用以下代码:
from sympy import symbols, sin, cos
x, y = symbols('x y')
expr = sin(x) + cos(y)
以上代码将创建一个名为 expr
的符号对象,该对象表示表达式 sin(x) + cos(y)
。现在我们可以使用 Sympy 中的 evalf()
函数来评估这个表达式。
Sympy 提供了几种方法来评估代数表达式,包括数值评估、符号评估和化简表达式,让我们详细看看每一种方法。
要在 Sympy 中对代数表达式进行数值评估,我们可以使用 evalf()
函数。该函数使用浮点数来评估表达式,并返回表达式的数值结果。例如,要评估表达式 sin(pi / 2)
的数值结果,可以使用以下代码:
from sympy import symbols, pi, sin
x = symbols('x')
expr = sin(pi / 2)
result = expr.evalf()
print(result)
在这个例子中,表达式 sin(pi / 2)
的数值结果将被计算并存储在变量 result
中。这个值将被打印出来(即 1.0)。
在 Sympy 中,我们可以使用 subs()
函数来评估符号表达式。该函数将符号变量替换为指定的值,并返回代数表达式的新符号表达式。例如,要评估表达式 x ** 2 + y
,其中 x = 2 和 y = 3,可以使用以下代码:
from sympy import symbols
x, y = symbols('x y')
expr = x ** 2 + y
result = expr.subs([(x, 2), (y, 3)])
print(result)
在这个例子中,符号变量 x
和 y
分别替换为 2 和 3。将产生新的符号表达式 2 ** 2 + 3
。这个值将被打印出来(即 7)。
Sympy 还允许我们使用 simplify()
函数来化简表达式。该函数使用各种化简规则来简化表达式,并返回简化后的符号表达式。例如,要化简表达式 x ** 2 + 2 * x + 1
,可以使用以下代码:
from sympy import symbols, simplify
x = symbols('x')
expr = x ** 2 + 2 * x + 1
result = simplify(expr)
print(result)
在这个例子中,表达式 x ** 2 + 2 * x + 1
将化简为 (x + 1) ** 2
。这个值将被打印出来。
在本文中,我们深入探讨了如何在 Sympy 中评估代数表达式。我们学会了如何使用符号变量来声明代数表达式,如何使用数值评估、符号评估和化简表达式来评估表达式。Sympy 提供了一组强大的工具,帮助我们在 Python 中轻松地进行符号数学操作。