2008-07-20 06:59:05 +08:00
|
|
|
typedef Matrix<float,Dynamic,2> DataMatrix;
|
|
|
|
// let's generate some samples on the 3D plane of equation z = 2x+3y (with some noise)
|
2008-07-21 08:34:46 +08:00
|
|
|
DataMatrix samples = DataMatrix::Random(12,2);
|
|
|
|
VectorXf elevations = 2*samples.col(0) + 3*samples.col(1) + VectorXf::Random(12)*0.1;
|
2008-10-13 23:53:27 +08:00
|
|
|
// and let's solve samples * [x y]^T = elevations in least square sense:
|
2009-10-30 09:11:05 +08:00
|
|
|
Matrix<float,2,1> xy
|
|
|
|
= (samples.adjoint() * samples).llt().solve((samples.adjoint()*elevations));
|
2008-10-13 23:53:27 +08:00
|
|
|
cout << xy << endl;
|