c++使用eigen庫,矩陣維度錯誤


/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32: error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES
#define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);

在用高斯牛頓做迭代優化時,\(H=J^TJ\),

當f(x)是一維時,J通常用vector2d,vector3d,vector6d表示,此時J的唯獨是(2,1)(3,1),(6,1)即此時J是雅克比矩陣的轉置,此時仍用\(H=J^TJ\),會出現上述錯誤,應改成\(H=JJ^T\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM