多项式插值是一种数值分析中的方法,用于通过一组离散的数据点来构造一个多项式函数,使得该多项式恰好经过所有的数据点。这种技术在科学计算、工程设计以及数据分析等领域中有广泛的应用。
void polyfit(const vector<double>& x, const vector<double>& y, int n, vector<double>& a)
{
int len = x.size();
int i, j, k;
vector<double> b(n + 1, 0);
vector<vector<double>> A(n + 1, vector<double>(n + 1, 0));
for (i = 0; i < len; i++)
{
for (j = 0; j <= n; j++)
{
b[j] += pow(x[i], j) * y[i];
for (k = 0; k <= n; k++)
{
A[j][k] += pow(x[i], j + k);
}
}
}
for (i = 0; i <=