C语言实现最小二乘法拟合线性回归
最小二乘法是一种找到一组数据点的最佳拟合直线的方法。它通过最小化每个数据点的实际y值和预测y值之间的平方差来实现。
void TempCurvefitting1()//另一种实现方法 { double x[] = {1, 2, 3, 4, 5}; double y[] = {2, 4, 5, 4, 5}; int n = sizeof(x) / sizeof(x[0]); // Calculate means double x_mean = 0, y_mean = 0; for (int i = 0; i < n; i++) { x_mean += x[i]; y_mean += y[i]; } x_mean /= n; y_mean /= n; // Calculate slope double numerator = 0, denominator = 0; for (int i = 0; i < n; i++) { numerator += (x[i] - x_mean) * (y[i] - y_mean); denominator += (x[i] - x_mean) * (x[i] - x_mean); } double slope = numerator / denominator; // Calculate y-intercept double y_intercept = y_mean - slope * x_mean; }