You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取含exp(a*x/c)表达式中x的类多项式系数?

在SymPy中提取表达式关于x的类多项式系数

直接用expand()就能把你的表达式展开成想要的类多项式形式,再配合coeff()方法就能提取对应x幂次的系数,完全不需要复杂操作:

完整代码示例

from sympy import *
a,b,c,x=symbols('a,b,c,x',real=True)
expr=a+(a+(a+b)*x+c*(a+b)*x**2 )*exp(a*x/c)

# 展开表达式到类多项式形式
expanded_expr = expr.expand()
print(expanded_expr)
# 输出:a + a*exp(a*x/c) + (a + b)*x*exp(a*x/c) + c*(a + b)*x**2*exp(a*x/c)

# 提取各x项的系数
const_coeff = expanded_expr.coeff(x, 0)
x1_coeff = expanded_expr.coeff(x, 1)
x2_coeff = expanded_expr.coeff(x, 2)

print("常数项系数:", const_coeff)    # 输出:a + a*exp(a*x/c)
print("x项系数:", x1_coeff)          # 输出:(a + b)*exp(a*x/c)
print("x²项系数:", x2_coeff)         # 输出:c*(a + b)*exp(a*x/c)

为什么你之前的方法没效果

  • series(x):这个方法是对表达式做泰勒展开,会把exp(a*x/c)拆成x的幂级数,不是你要的保留exp作为系数的形式
  • poly(expr,x):SymPy的poly要求表达式是严格多项式(系数必须是不含x的符号/常数),但你的系数里exp(a*x/c)包含x,所以无法生成多项式对象
  • expr.rewrite(x):这个方法是用来将表达式重写为指定类型的函数,和整理多项式项无关

内容的提问来源于stack exchange,提问作者ShoutOutAndCalculate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:42:38