Eigen库基本使用

访问vector中的元素

Eigen::Vector3d pw;
pw(3) = 1;
pw[3] = 1; // 二者均可,都是被重载过的运算符
### 如何在 Ubuntu 系统中安装和使用 Eigen #### 安装方法 在 Ubuntu 中可以通过两种主要的方式安装 Eigen : 1. **通过包管理器安装** 使用 `apt` 命令可以直接从官方仓安装预编译好的 Eigen 。这种方式简单快捷,适合大多数用户。运行以下命令完成安装: ```bash sudo apt update sudo apt install libeigen3-dev ``` 这种方式会自动将 Eigen 的头文件放置于 `/usr/include/eigen3` 文件夹下[^1]。 2. **手动下载并安装** 如果需要特定版本的 Eigen 或者希望自定义安装路径,则可以选择手动安装。以下是具体步骤: - 下载最新版 Eigen 源码(可以从官网获取)。 - 解压源码至目标目录,例如 `/home/user/Downloads/eigen-3.x.x`。 - 将解压后的 `Eigen` 和 `unsupported` 文件夹复制到指定位置。例如将其移动到 `/usr/local/include/` 目录下: ```bash sudo cp -r /path/to/downloaded/eigen/Eigen /usr/local/include/ sudo cp -r /path/to/downloaded/eigen/unsupported /usr/local/include/ ``` 需要注意的是,由于 `/usr/include` 是 root 权限保护的文件夹,因此无法直接拖拽文件进去,需借助上述命令实现[^4]。 --- #### 卸载与重新安装 如果之前已安装过 Eigen 并遇到问题,可能需要先卸载再重新安装。可以按照以下步骤操作: - 删除旧版本的相关文件: ```bash sudo rm -rf /usr/lib/cmake/eigen3 \ /usr/local/include/eigen3 \ /usr/local/share/eigen3 \ /usr/share/doc/libeigen3-dev \ /usr/local/share/pkgconfig/eigen3.pc \ /usr/share/pkgconfig/eigen3.pc \ /var/lib/dpkg/info/libeigen3-dev.list \ /var/lib/dpkg/info/libeigen3-dev.md5sums ``` 上述命令可清理掉大部分残留文件[^2]。 之后可以根据需求再次执行前述任一安装方法。 --- #### 在 Qt 中配置 Eigen 当需要在 Qt Creator 中集成 Eigen 时,默认情况下其头文件位于 `/usr/include/eigen3`。为了方便项目开发,可通过以下方式设置: - 修改默认路径或将 Eigen 头文件拷贝到其他常用目录: ```bash sudo cp -r /usr/include/eigen3/Eigen /usr/local/include/ ``` 此外,在 `.pro` 文件中添加如下内容以确保工程能够找到 Eigen: ```plaintext INCLUDEPATH += /usr/include/eigen3 ``` 测试是否成功的方法是在代码中引入 `<Eigen/Dense>` 并尝试编译运行简单的矩阵运算程序[^3]。 --- #### 编写 C++ 程序示例 下面是一个基本的例子展示如何利用 g++ 编译带有 Eigen 支持的应用程序: ```cpp #include <iostream> #include <Eigen/Dense> int main() { Eigen::MatrixXd m(2, 2); m << 1, 2, 3, 4; std::cout << "Here is the matrix m:\n" << m << std::endl; return 0; } ``` 保存为 `example.cpp` 后,使用以下命令编译: ```bash g++ example.cpp -o example -I/usr/include/eigen3 ./example ``` 这里 `-I` 参数指定了包含 Eigen 头文件的位置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值