Eigen 下载的地方使用非常的方便
http://eigen.tuxfamily.org/index.php?title=Main_Page
解压之后放到include文件夹
配置属性将Eigen 添加到包含目录即可
#include <iostream>
#include <Eigen/Eigen>
using namespace std;
using namespace Eigen;
int main()
{
/* 定义,定义时默认没有初始化,必须自己初始化 */
MatrixXf m1(3,4); //动态矩阵,建立3行4列。
MatrixXf m2(4,3); //4行3列,依此类推。
MatrixXf m3(6,6);
Vector3f v1; //若是静态数组,则不用指定行或者列
/* 初始化 */
m1 = MatrixXf::Zero(3,4); //用0矩阵初始化,要指定行列数
m2 = MatrixXf::Zero(4,3);
m3 = MatrixXf::Identity(6,6); //用单位矩阵初始化
v1 = Vector3f::Zero(); //同理,若是静态的,不用指定行列数
m1 << 1,0,0,1, //也可以以这种方式初始化
1,5,0,1,
0,0,9,1;
m2 << 1,0,0,
0,4,0,
0,0,7,
1,1,1;
m3<<5,2,3,6,2,1,
1,3,2,4,1,2,
2,3,4,2,2,1,
1,2,3,2,2,3,
1,2,1,2,1,3,
1,1,1,1,1,1;
MatrixXf m5(6,6);
m5 = MatrixXf::Zero(2,2);
int a[2][2]={{1,2},{2,3}};
for (int i=0;i<2;i++){
for (int j=0;j<2;j++){
m5(i,j)=a[i][j];
}
}
m5=m5*m5;
for (int i=0;i<2;i++)
{
for (int j=0;j<2;j++)
{
cout<<m5(i,j)<<" ";
}
cout<<endl;
}
cout<<"m3转置:\n"<<m5.transpose()<<endl;
cout<<"m3行列式:\n"<<m5.determinant()<<endl;
system("pause");
return 0;
}
这个事简单的代码