Eigen 矩阵初始化/求逆转置

初始化

Matrix3f m;
m << 1, 2, 3,
4, 5, 6,
7, 8, 9;

Eigen::Matrix<float, 8,1> m;
m.setZero();
// Eigen::MatrixXd m = Eigen::MatrixXd::Zero(8,1);

m.col(2).head(2)<<6, 7;    // 获取向量的前n个元素
m.col(2).tail(2)<<6, 7;    // 获取向量的后n个元素

// block(Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
m.block(1,0,3,4) << 4, 5, 7, 8;   // row=1, col=0 ,height=3, width=4 的块 



初始化矩阵


    float value = 3.0;
    Matrix3f x; // 创建一个3x3的单精度矩阵
    x = Matrix3f::Zero(); //全零矩阵
    x = Matrix3f::Ones(); //全一矩阵
    x = Matrix3f::Constant(value); //全value矩阵
    x = Matrix3f::Identity(); //单位矩阵
    x = Matrix3f::Random(); // 随机矩阵
 
    x.setZero();
    x.setOnes();
    x.setIdentity();
    x.setConstant(value);
    x.setRandom();

求解

// 求逆
inverse()

// 转置
transpose()


posted @ 2022-07-21 11:48  小小灰迪  阅读(1458)  评论(0编辑  收藏  举报