gpt4 book ai didi

python - 如何提取sympy中的所有系数

转载 作者:IT老高 更新时间:2023-10-28 21:56:46 24 4
gpt4 key购买 nike

你可以使用coeff()得到一个特定项的系数;

x, a = symbols("x, a")
expr = 3 + x + x**2 + a*x*2
expr.coeff(x)
# 2*a + 1

这里我要提取x、x**2(等等)的所有系数,比如;

# for example
expr.coefficients(x)
# want {1: 3, x: (2*a + 1), x**2: 1}

有一个方法as_coefficients_dict(),但似乎这并没有按我想要的方式工作;

expr.as_coefficients_dict()
# {1: 3, x: 1, x**2: 1, a*x: 2}
expr.collect(x).as_coefficients_dict()
# {1: 3, x**2: 1, x*(2*a + 1): 1}

最佳答案

all_coeffs() 有时比将 coeffs() 用于 Poly 更好。区别在于这两者的输出。 coeffs() 返回一个列表,其中包含所有具有值的系数并忽略系数为 0 的系数,而 all_coeffs() 返回所有系数,包括那些系数为零。

>>> a = Poly(x**3 + a*x**2 - b, x)
>>> a.coeffs()
[1, a, -b]

>>> a.all_coeffs()
[1, a, 0, -b]

关于python - 如何提取sympy中的所有系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22955888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com