1. 程式人生 > 其它 >【Linux/Eigen】學習筆記(2):矩陣建立方法

【Linux/Eigen】學習筆記(2):矩陣建立方法

技術標籤:【Linux/ROS學習】【C++學習】線性代數矩陣

在重構機器人演算法時,Eigen庫應該是使用率最多的庫了,因為機器人的演算法涉及到大量的矩陣運算。

首先說一下建立3×3的矩陣的方法,作為初學者我比較關心的是宣告和賦值,用以下三種方式說明:

#include <iostream>
#include <Eigen/Dense>
using namespace std;
int main()
{
    // 宣告和賦值 方法1
    Eigen::Matrix3d mat3d1;
    mat3d1 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
    cout << "method1:" << endl;
    cout << mat3d1 << endl;
    // 宣告和賦值 方法2
    Eigen::Matrix<double, 3, 3> mat3d2;
    mat3d2 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
    cout << "method2:" << endl;
    cout << mat3d2 << endl;
    // 宣告和賦值 方法3
    Eigen::Matrix<double, 3, 3> mat3d3;
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            mat3d3(i, j) = 100;
    cout << "method3:" << endl;
    cout << mat3d3 << endl;
    return 1;
}

上述程式碼的執行結果: