如何解决从Sympy中的级数展开获得n阶系数
我有一个使用numpy的poly1d定义的多项式:
import numpy as np
p = np.poly1d([-1.37970733e+07,8.02055768e+07,-1.98442743e+08,2.70981281e+08,-2.20611918e+08,1.07019785e+08,-2.85873914e+07,3.24251782e+06])
然后我对该多项式进行一个级数展开,该展开关于我称为radMax = 0.80868373
的一点。这是我进行系列扩展的方法:
from sympy import series,Symbol,Poly
x = Symbol('x')
polyExpand = p(x).series(x,radMax,3)/(p(radMax)/0.0523772)
这给了我想要的展开,并且我想要二阶项的系数。如果运行上面的代码,您将看到此系数为“ 0.2843162879664”。我想提取这个系数。
解决方法
如果要按术语处理系数:
from sympy import sympify
print(polyExpand.as_coefficients_dict()[sympify(f"(x - {radMax}) ** 2")])
如果要按索引获取系数:
coeffs = list(polyExpand.as_coefficients_dict().values())
print(coeffs[2]) # order n = 2
这些将正确输出-0.284316287966400
。你忘了减号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。