控制科学与工程:随手笔记(5)--Eigen、vscode配置
2019-05-19 13:35
3471 查看
Eigen库中的变量类型及函数
变量 | 功能 |
---|---|
Eigen::Matrix3d | 旋转矩阵3X3,元素为double类型(此处也可以为:f,i,c)(可以直接输出) |
Eigen::Matrix<float,2,3> | 定义2X3矩阵,元素为float类型(Eigen中所有的向量和矩阵的底层都是如此定义) |
Eigen::Vector3d | 定义三维列向量,等价于Eigen::Matrix<double,3,1> |
Eigen::SelfAdjointEigenSolver< Eigen::Matrix3d > A(B) | 矩阵B的相似对角化 |
Eigen::Matrix<float,Eigen::Dynamic,Eigen::Dynamic> | 定义动态矩阵,运行时确定矩阵大小,相对耗时 |
Eigen::MatrixXd | 定义动态矩阵 |
Eigen::Isometry3d | 欧式变换矩阵4X4 |
Eigen::AngleAxisd rotation_vector(M_PI/4,Eigen::Vector3d(0,0,1)) | 旋转向量3X1,沿Z轴旋转课45° |
Eigen::Quaterniond | 四元数(4X1) |
Eigen::Quaterniond(rotation_vector/rotation_matrix) | 四元数的初始化 |
q*v | 利用四元数法旋转一个向量v,实际上数学为qvq^(-1) |
Eigen::Affine3d | 仿射变换4X4 |
Eigen::Projective3d | 射影变化4X4 |
函数 | 功能 |
---|---|
Eigen::Matrix3d::Identity() | 单位矩阵,其他矩阵类中亦有此操作 |
Eigen::Matrix3d::Zero() | 零矩阵,其他矩阵类中亦有此操作 |
Eigen::Matrix3d::Random() | 随机矩阵,其他矩阵类中亦有此操作 |
Eigen::MatrixXd::Random(matrix_sizea,matrix_sizeb) | 随机矩阵 |
transpose() | 转置 |
sum() | 各元素和 |
trace() | 迹 |
inverse() | 逆 |
determinant() | 行列式 |
A.eigenvalues() | 特征值(SelfAdjointEigenSolver类中成员函数) |
A.eigenvectors() | 特征向量(SelfAdjointEigenSolver类中成员函数) |
eulerAngles(2,1,0) | 转换为ZYX欧拉角,0–X,1–Y,2–Z |
rotate(rotation_vector) | 按照rotation_vector进行旋转 |
pretranslate(translate_vector) | 按照translate_vector进行平移 |
colPivHouseholderQr() | QR分解 |
solve(右侧向量) | 解非齐次方程组 |
matrix()或者toRotationMatrix() | AngleAxisd类中成员函数,将选择向量转换为旋转矩阵 |
coeffs() | 其顺序为(x,y,z,w),w为实部,前3个为虚部 |
注意:
(1)在Eigen里不能够混合两种不同类型的矩阵进行运算,如float和double类型,需要强制类型转换,eg:.cast(),不可以直接前缀强制转换 (2)Matrix3d、vector3d之类的变量都是类,默认double数据类型,内嵌许多成员 (3)Matrix3d、vector3d之类的大写字母开头的均是类,Matrix、SelfAdjointEigenSolver是模板类vscode基本配置:https://blog.csdn.net/weixin_43374723/article/details/84064644
Eigen库使用方法:https://www.jianshu.com/p/931dff3b1b21
相关文章推荐
- Tensorflow 学习笔记 vs code 的用户配置
- LaTeX学习笔记——LaTeX与vscode配置
- 【学习笔记】在VSCode上配置typescript + nodejs 开发环境
- VS code配置Github风格样式
- Git环境配置+VSCode中文乱码问题
- 关于vscode的个人配置
- ubuntu16.04配置VSCode编译执行cpp
- VScode+Java配置与使用的详细步骤
- Entity Framwork CodeFirst 学习笔记二:约定和配置
- VSCode下配置python调试运行环境的方法
- vscode配置python
- VSCode - Beautify 插件配置
- vscode eslint配置vue遇到的问题
- Win10环境下配置VScode的C++编译环境
- OPENCV学习笔记(一):安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
- js笔记十:vscode代码提示
- OpenCV学习笔记——OpenCV3.1.0+VS2015开发环境配置
- vscode 配置 go 开发环境
- VSCode+golang 安装配置
- Vscode C/C++环境配置