C++ eigen矩阵使用杂记


eigen3使用

提供三种三维矩阵的赋值方法

eigen自带逆矩阵函数,转置矩阵函数

eigen提取元素方法为A(i,j)

// 矩阵操作
double uM[9] = {0, 1, 2, 1, 1, 4, 2, -1, 0}; double uB[3][3] = {0, 1, 2, 1, 1, 4, 2, -1, 0}; Eigen::Matrix3d Mat1; Mat1<<uB[0][0], uB[0][1], uB[0][2], uB[1][0], uB[1][1], uB[1][2], uB[2][0], uB[2][1], uB[2][2]; // Mat1<<uM[0],uM[1],uM[2],uM[3],uM[4],uM[5],uM[6],uM[7],uM[8]; // Mat1 <<0, 1, 2, 1, 1, 4, 2, -1, 0; cout << "Mat1逆矩阵:\n" << Mat1.inverse() << endl; cout << "Mat1逆矩阵第一个元素:\n" << Mat1.inverse()(0, 1) << endl; cout << "Mat1转置矩阵:\n" << Mat1.transpose() << endl;

// 向量操作
  Eigen::Vector3d a(1.0, 2.0, 3.0);// 默认为列向量 或者a(0) = 1; a(1) = 2; a(2)= 3;
std::cout << "a = \n" << a << std::endl;

// 矩阵变化操作
std::cout << "zx = \n" << Mat1*a << std::endl;
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM