📅  最后修改于: 2023-12-03 15:19:16.853000             🧑  作者: Mango
sympy.as_coefficient()
方法是 SymPy 模块中一个用于获取可以转化为某个对象的系数的方法。如果给定的表达式可以表示为一个有理数、浮点数或特定变量的系数与另一些表达式的乘积的形式,那么此方法会将系数返回。
sympy.as_coefficient(term, rational=False)
term
: 表示待处理表达式的变量或表达式。rational
: 如果为 True
,将只允许分数作为转换后的系数。term
可以表示为一个有理数、浮点数或特定变量的系数与另一些表达式的乘积的形式,那么此方法会将系数返回。term
表示的表达式中没有任何符号,则此方法将返回原始表达式。from sympy import *
x, y = symbols('x y')
expr1 = 3*x + 2*y
expr2 = Rational(3, 2)*x + Rational(2, 3)*y
expr3 = sqrt(2)*x + pi*y
print(expr1.as_coefficient(x)) # 返回 3
print(expr1.as_coefficient(y)) # 返回 2
print(expr2.as_coefficient(Rational(2, 3))) # 返回 2/3
print(expr3.as_coefficient(sqrt(2))) # 返回 sqrt(2)
print(expr3.as_coefficient(pi)) # 返回 pi
print(expr3.as_coefficient(x)) # 返回 None
print(x.as_coefficient(x)) # 返回 (1, 0)
上述程序中,首先导入了 Sympy 模块并定义了两个符号变量 x
和 y
。接着,定义 expr1
、expr2
和 expr3
三个表达式,其中 as_coefficient()
方法会被用来获取它们中的系数。
最后,在第 7~8 行代码中,我们分别使用 as_coefficient()
方法获取了 expr1
中 x
和 y
的系数。
输出结果如下:
3
2
2/3
sqrt(2)
pi
None
(1, 0)