最小二乘法的嵌入式C语言实现

本文介绍了如何使用C语言实现最小二乘法,特别是针对线性数据的直线拟合。通过实例展示了如何求解直线方程的参数,从而得到最佳拟合直线,用于未来数据的预测。
摘要由CSDN通过智能技术生成

1. 最小二乘法

首先举个例子。

针对线性最小二乘法即直线拟合,如下图(来自维基百科)所示:

根据已有的数据(图中的点),来做出一条最贴近数据发展趋势的直线。

通过这条直线,我们可以对未来的数据进行预测,因为基本会落在这条直线附近。

当然了,最小二乘法不只是直线,还可以是曲线,本文不讨论。

 

2. 求解直线方程

我们现在要做的,就是求解直线方程。

假设已知有N个点,设这条直线方程为:  y = a·x + b

其中,a和b的计算公式如下:

3. 算法代码

#define DEFAULT_EPS 1e-15


STATUS LeastSquareLinearFit(double *x, double *y, const int num, double *a, double *b)
{
    int i = 0;
    double denominator = 0.0;
    double sum_xsquared &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值