如何获得 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。如果在第一个方程中代入 xiyi,您将获得一个包含 n 个方程的线性系统,其中的未知数为 cnc0。以矩阵形式写下,你会得到 A*C = B.

np.linalg.solvea 参数表示 A 矩阵,在本例中是多项式系数的“权重”——即 x 的幂(例如一行将是 [xi^n, xi^(n-1), ..., xi, 1])。 b 参数将是 yi.

的向量

请注意,如果您的多项式是 n 次,则需要 n+1 个元组来求解其系数。