最小二乘法(c语言实现线性,matlab进行拟合)及相关系数的求解

现在给定n个点,(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)..(xn,yn).

现在希望得到一条最好的曲线(也就是求一个函数关系式~~)

能尽可能的描述这n个点(不一定所有点都经过,但是总的拟合最小)

现在探讨什么叫总的拟合误差最小:

为了方便,我们考虑最简单的线性模型。

1:

n

∑(yi-f(xi)) 

i=1
但是考虑到有些点在线上面,有些点在线下面,正负会相互抵消,所以我们很容易想到另一种方法。

2:

n

∑(yi-f(xi)) *(yi- f(xi))

i=1

然后令f(x)=a+bx;

可以得到公式

n

∑((yi-(a+bxi))^2)

i=1

上式分别对a、b求偏导

整理后得到方程组

aN+b∑xi=∑yi

a∑xi+b∑(xi*xi)=∑xi*∑yi

解上述方程组(上面乘∑xi,下面式子乘N)便可求得直线参数ab的最佳估计值。



  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值