[Eigen]Eigen的单位矩阵C++ Eigen 单位矩阵
单位矩阵可以⽤来求解矩阵的逆矩阵,matlab,numpy或者eigen这些库都已经内置了很简单的实现⽅法Eigen中有⾃带的单位矩阵实现⽅法,在matlab中,单位矩阵的函数为eye(row,col)。
在visual studio中新建空项⽬,命名为Identity,新建main.cpp,然后键⼊如下代码,验证输出
#include"../Common/common.h"
using namespace Eigen;
using namespace std;
int main()
{
/*单位矩阵**/
Matrix<double, Dynamic, Dynamic> m_matrix;
MatrixXd m_matrix2(3,3);
m_matrix2 <<1,2,3,
4,5,6,
7,8,8;
cout <<"MatrixXd::Identity(5, 4):\n"<<MatrixXd::Identity(5,4)<< endl;;
identity matrix是什么意思m_matrix.setIdentity(5,4);
cout <<"m_matrix.setIdentity(5, 4):\n"<< m_matrix << endl;
/*求逆矩阵需要先判断是否可逆**/
cout <<"m_matrix2.inverse():\n"<< m_matrix2.inverse()<< endl;
/*逐元素取倒数**/
cout <<"m_matrix.array().inverse():\n"<< m_matrix.array().inverse()<< endl;
cout <<"m_matrix.cwiseInverse():\n"<< m_matrix.cwiseInverse()<< endl;
return0;
}
#运⾏结果
A A−1
矩阵,逆矩阵为,逆矩阵和矩阵乘积为单位矩阵。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论