mesytec-mnode/external/taskflow-3.8.0/3rd-party/eigen-3.3.7/doc/snippets/LLT_solve.cpp

9 lines
456 B
C++
Raw Normal View History

2025-01-04 01:25:05 +01:00
typedef Matrix<float,Dynamic,2> DataMatrix;
// let's generate some samples on the 3D plane of equation z = 2x+3y (with some noise)
DataMatrix samples = DataMatrix::Random(12,2);
VectorXf elevations = 2*samples.col(0) + 3*samples.col(1) + VectorXf::Random(12)*0.1;
// and let's solve samples * [x y]^T = elevations in least square sense:
Matrix<float,2,1> xy
= (samples.adjoint() * samples).llt().solve((samples.adjoint()*elevations));
cout << xy << endl;