最小二乘法拟合直线
Wikipedia,自由的百科全书
本说明用于解释blobtrack程序的DetectNewBlob()函数中的直线拟合部分
目录 |
[编辑]
问题
假设已知时间序列上的点集
,需要拟合直线
,也就是分别拟合直线
。
该问题可以分解为两个完全相同的子问题:
- 使用点集
,来拟合(x, t)平面上的直线
;
- 使用点集
,来拟合(y, t)平面上的直线
。
下面以拟合(x, t)平面上的直线
为例说明问题的求解。
[编辑]
解答
所有的点到拟合出的直线
的误差应该为最小,也就是(a,b)分别取什么值的时候,下面这个方程的值(误差)最小:
直接给出该式的参数解:
其中
代入整理后,可得
[编辑]
误差
点集
到直线
的拟合误差为:
[编辑]
blobtrack代码
blobtrack程序的DetectNewBlob()函数中的直线拟合部分
- sum[0/1]对应上面的
- jsum[0/1]对应上面的
- a[0/1]对应上面的a
- b[0/1]对应上面的b
- pBL[j]->x 对应上面的 xt
- pBL[j]->y 对应上面的 yt


