一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
摘要: 用Eigen库解Ax=b线性方程,使用最小二乘法 1 #include <iostream> 2 3 #include <Eigen/Dense> 4 5 using namespace std; 6 7 using namespace Eigen; 8 9 int main() 10 11 { 1 阅读全文
posted @ 2022-07-06 15:36 一杯清酒邀明月 阅读(611) 评论(0) 推荐(0)
摘要: 这里将解释Eigen如何与原生raw C/C++ 数组混合编程。 1. 简介 Eigen中定义了一系列的vector和matrix,相比copy数据,更一般的方式是复用数据的内存,将它们转变为Eigen类型。Map类很好地实现了这个功能。 2. Map类型 Map的定义 Map<Matrix<typ 阅读全文
posted @ 2022-07-06 15:34 一杯清酒邀明月 阅读(631) 评论(0) 推荐(0)
摘要: 1. 块操作 块是matrix或array中的矩形子部分。 2. 使用块 函数.block(),有两种形式 Eigen中,索引从0开始。 两个版本都可以用于固定尺寸和动态尺寸的matrix/array。功能是等价的,只是固定尺寸的版本在block较小时速度更快一些。 1 int main() 2 3 阅读全文
posted @ 2022-07-06 15:31 一杯清酒邀明月 阅读(444) 评论(0) 推荐(0)
摘要: 0. 为什么使用Array 相对于Matrix提供的线性代数运算,Array类提供了更为一般的数组功能。Array类为元素级的操作提供了有效途径,比如点加(每个元素加值)或两个数据相应元素的点乘。 1. Array Array是个类模板(类似于Matrx),前三个参数是必须指定的,后三个是可选的,这 阅读全文
posted @ 2022-07-06 15:27 一杯清酒邀明月 阅读(297) 评论(0) 推荐(0)
摘要: 矩阵和向量的运算 提供一些概述和细节:关于矩阵、向量以及标量的运算。 1. 介绍 Eigen提供了matrix/vector的运算操作,既包括重载了c++的算术运算符+/-/*,也引入了一些特殊的运算比如点乘dot、叉乘cross等。 对于Matrix类(matrix和vectors)这些操作只支持 阅读全文
posted @ 2022-07-06 15:23 一杯清酒邀明月 阅读(1179) 评论(0) 推荐(0)
摘要: 1. Matrix类 在Eigen,所有的矩阵和向量都是Matrix模板类的对象,Vector只是一种特殊的矩阵(一行或者一列)。 Matrix有6个模板参数,主要使用前三个参数,剩下的有默认值。 Matrix<typename Scalar, int RowsAtCompileTime, int 阅读全文
posted @ 2022-07-06 15:18 一杯清酒邀明月 阅读(5613) 评论(0) 推荐(0)
摘要: Eigen库被分为一个Core模块和其他一些模块,每个模块有一些相应的头文件。 为了便于引用,Dense模块整合了一系列模块;Eigen模块整合了所有模块。一般情况下,include<Eigen/Dense> 就够了 阅读全文
posted @ 2022-07-06 15:12 一杯清酒邀明月 阅读(172) 评论(0) 推荐(0)
摘要: 1.在Eigen官网下载Eigen: Windows选压缩包zip下载,点击一下即可。下载后解压。 2.配置VS2015 打开vs2013,可以新建一个项目,也可以打开以前的项目,右键项目名,选择属性,在c/c++附加目录里加入解压后eigen文件夹的路径。 3.测试eigen是否配置好 1 #in 阅读全文
posted @ 2022-07-06 15:11 一杯清酒邀明月 阅读(377) 评论(0) 推荐(0)
摘要: 在研究zernike多项式过程中,需要使用到矩阵的最小二乘拟合。所以在这里记录分享Eigen库的最小二乘拟合使用方法。 最小二乘公式 B:n×1矩阵X : m × n 矩 阵 , 输 入 变 量 / 特 征 X:m \times n 矩阵,输入变量/特征X:m×n矩阵,输入变量/特征Y : m × 阅读全文
posted @ 2022-07-06 15:05 一杯清酒邀明月 阅读(1019) 评论(0) 推荐(0)