Ax = b 유형의 간단한 최소 제곱을 풀려고합니다. C++ 고유 라이브러리는 이것에 관한 몇 가지 기능을 제공합니다. 여기에 어떤 종류의 솔루션을 보았습니다 : Solving system Ax=b in linear least squares fashion with complex elements and lower-triangular square A matrix 그리고 여기 : Least Squares Solution of Linear Algerbraic Equation Ax = By in Eigen C++ 행렬 A와 B의 동적 버전을 사용하고 싶습니다. 행렬 A의 요소는 본인의 경우 부동 소수점이며 3 개의 열을 갖지만 데이터 항목 (행)의 수는 동적입니다 (루프 내부). 기본 선언 A, B 및 채우기 값에 대한 간단한 코드 스 니펫을 작성하면 도움이됩니다.C++ 고유 라이브러리 (동적 할당)를 사용한 선형 최소 제곱 방정식
당신은 여기 좀 걸릴 수 있습니다
1
A
답변
1
은 아이겐를 시작하려면 :
http://getcodefromcoffee.blogspot.it/2015/05/fast-systems-solver-axb-using-c-pcg.html
내가 PCG를 사용하여 선형 시스템을 해결하는 방법에 대한 쉬운 튜토리얼을 작성했습니다, 그 사건하지만, 소스 정확히 그래서 제공된 코드는 Eigen의 라이브러리에 접근하는 데 도움이됩니다 (행렬과 벡터를 선언하는 방법을 묻는 것이므로 괜찮을 것입니다). 동적 행렬/벡터가 필요한 경우 , 그냥 사용
MatrixXd m1(5,7); // double
VectorXd v1(23); // double
MatrixXf m2(3,5); // floating
VectorXf v2(12); // floating
그 변수는 모든 힙에 저장됩니다. 당신은 고정 된 크기의 정사각형 행렬이나 벡터를해야하는 경우
는 (하지만 조심, 그들은 동적되지 않습니다!) 다음 구문을 사용합니다
Matrix3d m3; // double, size 3x3
Vector3d v3; // double, size 1x3
Matrix4d m4; // double, size 4x4
Vector4d v4; // double, size 1x4
http://eigen.tuxfamily.org/dox/group__TutorialMatrixClass을 .html # title2 – Pavel
질문을 찾을 수 없습니다. – nwp