📜  Python| sympy.collect() 方法(1)

📅  最后修改于: 2023-12-03 15:34:17.129000             🧑  作者: Mango

Python | sympy.collect() 方法

简介

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

注意,在多个变量进行收集时,会将每个变量的系数与对应的变量相乘,并将其合并。