- 直线方程是y=a*x+b
- 推导如下图
- 右边例子是用(1,8)和(5,20)拟合直线
- C++代码如下
void GetLine(vectorv, float &a, float &b) { float xy=0,x=0,y=0,xx=0; int n = v.size(); for(int i = 0; i < v.size(); ++i) { xy += v[i].x * v[i].y; x += v[i].x; y += v[i].y; xx += v[i].x * v[i].x; } a = (n * xy - x * y) / (n * xx - x * x); b = (y - a * x) / n; }
- 之前推导过 θ theta θ=a*x+b*y,这里放上结果



