📅  最后修改于: 2023-12-03 15:34:17.129000             🧑  作者: Mango
sympy.collect()
方法是 SymPy 中的一个函数,用于将表达式以给定的变量进行收集整理,并返回收集后的表达式。
sympy.collect(expression, variable, evaluate=True)
参数说明:
expression
:需要整理的符号表达式;variable
:指定需要对哪个变量进行收集;evaluate
:是否需要对结果进行化简,默认为 True。返回值:收集后的符号表达式。
下面介绍一些 sympy.collect()
方法的示例。
假设我们有一个符号表达式 $expr$,如下所示:
import sympy as sp
a, b, c, x, y = sp.symbols('a b c x y')
expr = a*x**2 + b*x**2 + c*y*x**2
expr
输出:
a*x**2 + b*x**2 + c*x**2*y
现在我们想要将 $x^2$ 进行收集,那么我们可以调用 sympy.collect()
方法,如下所示:
sp.collect(expr, x**2)
输出:
x**2*(a + b + c*y)
可以看到,方法会将符合条件的项(即包含 $x^2$ 的项)进行整理,并将其系数与变量 $x^2$ 相乘。如果需要进行化简,可以将 evaluate
参数设置为 True(或不进行设置,因为默认值为 True),如下所示:
sp.collect(expr, x**2, evaluate=True)
输出:
x**2*(a + b + c*y)
方法还可以对多个变量进行收集,如下所示:
expr2 = a*x**2 + b*x**2 + c*y*x**2 + a*y**2 + b*y**2 + c*x*y**2
sp.collect(expr2, [x, y])
输出:
x**2*(a + b*c*y) + y**2*(a*c + b) + x*y**2*c
注意,在多个变量进行收集时,会将每个变量的系数与对应的变量相乘,并将其合并。