关闭

Eigen基本应用

496人阅读 评论(0) 收藏 举报
分类:

Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩阵分解及其几何特征的求解;它不支持的模块生态系统提供了许多专门的功能,如非线性优化,矩阵功能,多项式解算器,快速傅立叶变换等。

Eigen支持多种编译环境。

1、矩阵操作:
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout << "Here is the matrix m:\n" << m << std::endl;
VectorXd v(2);
v(0) = 4;
v(1) = v(0) - 1;
std::cout << "Here is the vector v:\n" << v << std::endl;
}
输出为
Here is the matrix m: 
  3  -1
2.5 1.5
Here is the vector v:
4
3
2、求解特征值和特征向量
#include <iostream>
#include <Eigen/Dense>
using namespace std;
using namespace Eigen;
int main()
{
Matrix2f A;
A << 1, 2, 2, 3;
cout << "Here is the matrix A:\n" << A << endl;
SelfAdjointEigenSolver<Matrix2f> eigensolver(A);
if (eigensolver.info() != Success) abort();
cout << "The eigenvalues of A are:\n" << eigensolver.eigenvalues() << endl;
cout << "Here's a matrix whose columns are eigenvectors of A \n"
<< "corresponding to these eigenvalues:\n"
<< eigensolver.eigenvectors() << endl;
}
输出为
Here is the matrix A:
1 2
2 3
The eigenvalues of A are:
-0.236  
4.24
Here's a matrix whose columns are eigenvectors of A corresponding to these eigenvalues:
-0.851 -0.526 
0.526 -0.851

原文链接:http://eigen.tuxfamily.org/index.php?title=Main_Page

                  http://baike.baidu.com/linkurl=2IZYOsGgCFEpJSF8HhYghkj6cn6suIBfuWvcjGcQAp8Rbo1nrvlBGrH0ZWdfxx9aTbY36rIzfE1gcVkTY8wg2K

0
0
查看评论

Eigen库使用

前言Eigen是一个高层次的C ++库,有效支持 得到的线性代数,矩阵和矢量运算,数值分析及其相关的算法。配置关于Eigen库的配置只需要在属性表包含目录中添加Eigen路径即可。 例子Example 1:#include <iostream> #include <Eigen/D...
  • wokaowokaowokao12345
  • wokaowokaowokao12345
  • 2016-11-29 19:06
  • 880

Eigen基本应用

Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩阵分解及其几何特征的求解;它不支持的模块生态系统,提供了许多专门的功能,如非线性优化,矩阵功能,多项式解算器,快速傅立叶变换等。 Eigen支持多种编译...
  • Allyli0022
  • Allyli0022
  • 2016-08-28 19:55
  • 496

ROS中使用Eigen库

——参考书《A Systematic Approach to Learning Robot Programming with ROS》 ROS中的数据操作需要线性代数,Eigen库是C++中的线性代数计算库。它独立于ROS,但是在ROS中可以使用。在CMakeLists.txt文件中要做以下配...
  • wxflamy
  • wxflamy
  • 2018-02-12 10:57
  • 15

Eigen教程1 - 基础

Eigen官网入门教程 固定大小的矩阵和向量 动态大小的矩阵和向量 矩阵和向量类型 访问元素 创建和初始化矩阵和向量 通过预定义矩阵初始化 创建固定大小的矩阵和向量 创建动态大小的矩阵 创建动态大小的向量 创建固定大小的基向量 创建动态大小的基向量 例子 通过Cast的方式初始化 相同尺寸的矩阵兼容...
  • xuezhisdc
  • xuezhisdc
  • 2017-01-19 22:13
  • 2379

Eigen的简单用法

在Eigen中重载了" 当前矩阵的行数、列数、大小可以通过rows(),cols()和size()来获取,对于动态矩阵可以通过resize()函数来动态修改矩阵的大小. 需注意: (1) 固定大小的矩阵是不能使用resize()来修改矩阵的大小; (2...
  • dxuehui
  • dxuehui
  • 2015-01-16 09:55
  • 760

opencv, image处理注意点,eigen库的应用

1. 传统的MSR,是分别对RGB三个channel进行多尺寸滤波,为了保证颜色不失真,或是节省时间取RGB最大值对RGB整体滤波,均需要分清RGB的存储,下图为RGB图像被opencv中imread函数读入mat后的存储模式。 2. 从color image 转化为gray image,可用op...
  • LL1256
  • LL1256
  • 2014-11-26 13:07
  • 1307

C++矩阵运算类库与Windows应用软件.zip

  • 2012-01-06 15:39
  • 3.61MB
  • 下载

eigen 在vs下的使用(1)

下载安装拷贝解压后的文件到VS工程目录下,实际不需要安装,简单设置下就好: 打开需要使用矩阵计算的工程 项目-》某某属性(最后一行)-》包含你的目录: 就可以使用了!菜鸟入门1、 矩阵的定义Eigen中关于矩阵类的模板函数中,共有6个模板参数,但是目前常用的只有前三个,如下所示: tem...
  • ZSZ_shsf
  • ZSZ_shsf
  • 2017-03-26 13:00
  • 503

Eigen: C++开源矩阵计算工具——Eigen的简单用法

Eigen非常方便矩阵操作,当然它的功能不止如此,由于本人只用到了它的矩阵相关操作,所以这里只给出了它的一些矩阵相关的简单用法,以方便快速入门。矩阵操作在算法研究过程中,非常重要,例如在图像处理中二维高斯拟合求取光斑中心时使用Eigen提供的矩阵算法,差不多十来行代码即可实现,具体可见:http:/...
  • Augusdi
  • Augusdi
  • 2013-10-21 11:55
  • 89089

几款不错的数学软件简介 Eigenmath、SpeQ、Sysquake LE和FreeMat

见http://hi.baidu.com/lvneng/item/65e9baf13335ddc6a935a261#713670-tsina-1-621-128ff9f28d958dae738be418601ffbcd
  • drrlalala
  • drrlalala
  • 2015-02-04 14:41
  • 603
    个人资料
    • 访问:265407次
    • 积分:5046
    • 等级:
    • 排名:第6629名
    • 原创:225篇
    • 转载:167篇
    • 译文:0篇
    • 评论:72条
    最新评论