如何获得 python 中多项式的系数
How to get the coefficients of the polynomial in python
我需要创建一个函数 get_polynom
,它将获取表示点的元组列表 (x1, y1), (x2, y2), ..., (xn, yn)
并找到多项式的系数 c0, c1, ..., cn
。
我无法理解任务,我唯一的提示是函数的提供部分:
import numpy as np
def get_polynom(coords):
...
return np.linalg.solve(a, b)
有人做过类似的事情吗?只要稍微解释一下到底是什么预期就太好了!
提前致谢!
多项式是一个函数f(x) = cn x^n + ... + c1 x + c0
。通过这对元组,您可以得到 n+1 个形式为 f(xi) = yi
的方程,其中 i 从 1 到 n+1。如果在第一个方程中代入 xi
和 yi
,您将获得一个包含 n 个方程的线性系统,其中的未知数为 cn
至 c0
。以矩阵形式写下,你会得到 A*C = B
.
np.linalg.solve
的 a
参数表示 A
矩阵,在本例中是多项式系数的“权重”——即 x 的幂(例如一行将是 [xi^n, xi^(n-1), ..., xi, 1]
)。 b
参数将是 yi
.
的向量
请注意,如果您的多项式是 n 次,则需要 n+1 个元组来求解其系数。
我需要创建一个函数 get_polynom
,它将获取表示点的元组列表 (x1, y1), (x2, y2), ..., (xn, yn)
并找到多项式的系数 c0, c1, ..., cn
。
我无法理解任务,我唯一的提示是函数的提供部分:
import numpy as np
def get_polynom(coords):
...
return np.linalg.solve(a, b)
有人做过类似的事情吗?只要稍微解释一下到底是什么预期就太好了!
提前致谢!
多项式是一个函数f(x) = cn x^n + ... + c1 x + c0
。通过这对元组,您可以得到 n+1 个形式为 f(xi) = yi
的方程,其中 i 从 1 到 n+1。如果在第一个方程中代入 xi
和 yi
,您将获得一个包含 n 个方程的线性系统,其中的未知数为 cn
至 c0
。以矩阵形式写下,你会得到 A*C = B
.
np.linalg.solve
的 a
参数表示 A
矩阵,在本例中是多项式系数的“权重”——即 x 的幂(例如一行将是 [xi^n, xi^(n-1), ..., xi, 1]
)。 b
参数将是 yi
.
请注意,如果您的多项式是 n 次,则需要 n+1 个元组来求解其系数。