python - 如何在 sympy 表达式/ Python 中获取系数
问题描述
如何在 sympy 表达式中获取系数
b = sympy.Symbol('b')
a = sympy.Symbol('a')
x = sympy.Symbol('x')
y = 2*x**3 + a*x**2 +b*x
结果应该是:
coeff for x**3 =2
coeff for x**2 = a
coeff for x = b
解决方案
It is surprisingly awkward to get the expression form of the terms in the polynomial but you can do it like this:
In [28]: b = sympy.Symbol('b')
...: a = sympy.Symbol('a')
...: x = sympy.Symbol('x')
...:
...: y = 2*x**3 + a*x**2 +b*x
In [29]: p = Poly(y, x)
In [30]: p
Out[30]: Poly(2*x**3 + a*x**2 + b*x, x, domain='ZZ[a,b]')
In [31]: {x**m[0]:p.coeff_monomial(m) for m in p.monoms()}
Out[31]:
⎧ 2 3 ⎫
⎨x: b, x : a, x : 2⎬
⎩ ⎭
推荐阅读
- r - 在 PANEL 上始终居中 ggplot 标题而不是 PLOT
- git - 什么可以将 `[url ...] insteadOf=...` 添加到我的 .gitconfig 文件中?
- scala - 如何使用带有花车的凿子 dsptools
- c# - 高效处理数百个 AI
- clojure - Anglican Clojure 中的嵌套 Let
- c# - 从 C# 程序访问 C++ DLL
- html - 如何在列布局css上扩展背景颜色
- php - Codeigniter搜索引擎BUG:结果分页项显示所有帖子
- error-handling - Julia:如何在 Atom 中从 Juno 复制错误消息?
- python - python列表变量字典