mokongking

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;
}

 

posted on 2023-04-06 11:34  虎啸岳林  阅读(452)  评论(0编辑  收藏  举报

导航