一、多项式拟合用途
当前有一组对应的x、y数据,希望通过这些数据点做出近似的多项式曲线:Y=···+nX^2+mX+c
其中多项式最高次数可调,返回各个参数及曲线的拟合度R^2
二、函数实现
参数中的order为设置的多项式最高次次数,coefficients为各次的系数
double polynomialFit(vector<double>& x, vector<double>& y, unsigned char order, vector<double>& coefficients){
if (x.size() <= order || y.size() <= order) {
return 0;
}
// 构建矩阵A和向量b
int m = x.size();
int n = order + 1;
vector<vector<double>> A(n, vector<double>(n, 0));
vector<double> b(n, 0);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j