如何在Sympy中提取多项式方程的各项系数?
Sympy提取多项式各项系数操作方法
操作步骤
- 首先确保你的表达式已经被完全展开为多项式和的形式,避免因式结构干扰项拆分
- 按如下代码实现提取:
from sympy import symbols, expand # 1. 定义用到的符号 a, b = symbols('a b') # 2. 定义你的表达式 expr = a**2 + 2*a*b + 2*a**2*b + 3*b**2 # 如果原始表达式是未展开的因式形式,先执行expand展开 expr = expand(expr) # 3. 提取所有项的系数 coeff_list = [term.as_coeff_Mul()[0] for term in expr.as_ordered_terms()]
- 输出
coeff_list即可得到你需要的[1, 2, 2, 3]结果
方法说明
expand():负责将表达式完全展开为单项式相加的结构,避免因式项导致拆分错误as_ordered_terms():将展开后的表达式拆分为按默认顺序排列的单项式列表,你可以根据需求自行调整项的排序规则as_coeff_Mul():将每个单项式拆分为(系数,变量部分)的元组,取元组第一个元素即可得到对应项的数值系数- 如果需要按特定变量的幂次排序,可自行替换
as_ordered_terms()为自定义排序逻辑
内容的提问来源于stack exchange,提问作者rrryok
相关产品推荐
相关产品推荐

