Python函数poly1d以降序度(从上度到零度)生成多项式。如何反转这个顺序,即。按升序生成多项式(从零开始)?
答案 0 :(得分:1)
据推测,你正在使用NumPy。较旧的poly1d
函数确实以递减顺序取系数。如果按顺序增加它们,我想你可以将它们向后切片:
In [6]: import numpy as np
In [7]: coeffs = [-2, 4, 3]
In [8]: p1 = np.poly1d(coeffs[::-1])
另一个更好的NumPy模块名为Polynomial
,它的系数按递增顺序排列:
In [9]: p2 = np.polynomial.Polynomial(coeffs)
出于数值稳定性的原因,Polynomial
类区分多项式的窗口和域:在进行任何高级操作之前,请仔细阅读文档类...