构建 n 阶多项式并使用 numpy 找到根通常是一项简单的任务:
import numpy
f = numpy.poly1d([1,2,3])
print numpy.roots(f)
array([-1.+1.41421356j, -1.-1.41421356j])
但是,假设您想要一个多项式类型:
f(x) = a*(x-x0)**0 + b(x-x0)**1 + ... + n(x-x0)**n
有没有一种简单的方法来构造一个 numpy.poly1d 类型的函数并找到根?我已经尝试过 scipy.fsolve 但它非常不稳定,因为它在很大程度上取决于在我的特定情况下选择的起始值。
在此先感谢 最好的问候 rrrak
编辑:将“多边形”(错误)更改为“多项式”(正确)