如何获得为函数的每一项提供指数数的多项式?

How to get a polynomial providing the exponential numbers for each term of the function?

我正在尝试写一个多项式。但是,我发现 scipy 方法给出多项式格式,如 x^4 + 2x^3 - x^2 + 3,其中系数为 [3, 0, -1, 2, 1],并且指数乘以 4、3 和 2。

有没有办法通过给定的数字列表来操纵指数?比如,给予:

nj = [0.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0, 6.0, 6.0, 6.0, 7.0, 8.0]

例如,对于给定的唯一系数,我可以计算像 coef*x^nj = 0 这样的多项式的项。

谢谢!

如果您有一个 NumPy 系数数组 coef 和一个 NumPy 指数数组 njx 处的多项式值可以计算为

coef.dot(x**nj)

示例:

coef = np.array([3.1, 0, -2, 5, 1.1])
nj = np.array([0, 1, 2, 2, 5])   
x = 1.23
print(coef.dot(x**nj))   # 10.7355362527