拟合曲线:
取100个带有高斯噪声的数,利用高斯牛顿法进行拟合求取估计值 a ,b ,c;
主要步骤:
1.构造误差项;
2,求雅克比,以及cost
3,判断cost是否小于上次cost,小:执行4,大:输出结果;
4,求H g;
5求dx;
6,更新估计量,到步骤2;
/*
* 高斯牛顿法练习 created by fanguohao 19.08.17
*/
#include <iostream>
#include <eigen3/Eigen/Core>
#include <eigen3/Eigen/Dense>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace Eigen;
#define DataNum 100 // 数据量;
#define itratorNum 200 // 迭代次数;
int main()
{
vector<double> x_data;
vector<double> y_data;
x_data.reserve(DataNum);
y_data.reserve(DataNum);
double at=1.0 ,bt=2.0,ct=1.0;