1.6Eigen中系数运算Reductions, visitors and broadcasting
Eigen::Matrix2d mat;
mat<<,,
,;
cout<<"矩阵所有系数之和:"<<mat.sum();//1+2+3+4=10
cout<<"矩阵系数的乘积:"<<mat.prod();//1*2*3*4=24
cout<<"矩阵系数的平均数:"<<mat.mean();//(1+2+3+4)/10=2.5
cout<<"矩阵最小的系数:"<<mat.minCoeff();//
cout<<"矩阵最大的系数:"<<mat.maxCoeff();//
cout<<"矩阵的迹:"<<mat.trace();//1+4=5
VectorXf v();
MatrixXf m(,),n(,);
v<<-,;
m<<,-,
-,;
cout<<"向量v的系数平方和:"<<v.squaredNorm();//(-1)^2+2^2=5
cout<<"向量v的系数平方和开方:"<<v.norm();//((-1)^2+2^2)^0.5=2.23607
cout<<"向量v的p次方和:"<<v.lpNorm<>();//模板函数,1为一次方和,3为三次方和, 结果xiang为3
cout<<"向量v系数绝对值最大值:"<<v.lpNorm<Infinity>();//
cout<<"矩阵m系数平方和:"<<m.squareNorm();//
cout<<"矩阵m系数平方和再开方:"<<m.norm();//5.47723
cout<<"矩阵m的p次方和:"<<m.lpNorm<>();//模板函数,1为矩阵系数绝对值之后,其他为N次方之和
cout<<"矩阵m系数绝对值最大值:"<<m.lpNorm<Infinity>();//
Eigen::Matrix2d mat;
mat<<,-,
-,;
cout<<"矩阵系数取绝对值:"<<mat.cwiseAbs();//mat=(1,2,3,4)
ArrayXXf a(,);
mat<<,,
,;
cout<<"如果数组所有系数大于0,返回true,否则返回false"<<(a>).all();//true
cout<<"如果数组存在一个系数大于0,返回true,否则返回false"<<(a>).any();//true
cout<<"返回数组大于0的系数的个数"<<(a>).count();//
cout<<"如果数组所有系数大于2,返回true,否则返回false"<<(a>).all();//
cout<<"如果数组存在一个系数大于2,返回true,否则返回false"<<(a>).any();//true
cout<<"返回数组大于2的系数的个数"<<(a>).count();//
Eigen::MatrixXf m(,);
m<<,,
,;
MatrixXf::Index maxRow,maxCol,minRow,minCol;
float max=m.maxCoeff(&maxRow,&maxCol);
float min=m.minCoeff(&minRow,&minCol);
cout<<"矩阵中最大元素所在位置:("<<maxRow<<","<<maxCol<<")";//(1,1)
cout<<"矩阵中最小元素所在位置:("<<minRow<<","<<minCol<<")";//(0,0)
Eigen::MatrixXf m(,);
m<<,,,,
,,,;
cout<<"输出每一列的最大值:"<<m.colwise().maxCoeff();//3,2,7,9
cout<<"输出每一行的最大值:"<<m.rowwise().maxCoeff();//9,7
Eigen::MatrixXf m(,);
m<<,,,,
,,,;
MatrixXf::Index maxindex;
float max=m.colwise().sum().maxCoeff(&maxindex);
cout<<"矩阵每列系数和,然后每一列和的最大值的列数"<<maxindex;//第3列,即2
cout<<"输出第三列"<<m.col(maxindex);//6,7
cout<<"输出最大的和:"<<max;//
Eigen::MatrixXf m(,),n(,);
Eigen::VectorXf v();
Eigen::RowVectorXf u();
m<<,,,,
,,,;
v<<,;
n<<,,,;
m.colwise()+=v;//m中每一列加向量v
n=m;
n.rowwise()+=u;
cout<<"矩阵每一列加向量v:"<<m;//1,2,6,9,4,2,8,3
cout<<"矩阵每一行加向量u:"<<n;//1,3,8,12,3,2,9,5
Eigen::MatrixXf m(,);
Eigen::VectorXf v();
m<<,,,,
,,,;
v<<,;
MatrixXf::Index index;
(m.colwise()-v).colwise().squareNorm().minCoeff(&index);
cout<<"求矩阵m每列距离向量V最小距离的一列"<<index;//
cout<<"输出距离向量V最小的列向量:"<<m.col(index);//1,3
1.6Eigen中系数运算Reductions, visitors and broadcasting的更多相关文章
- js中位运算的运用
原文:js中位运算的运用 我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解.平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更 ...
- numpy.array 中的运算
简单运算 现在有有个需求,给定一个数组,让数组中每一个数乘以2,怎么做呢 n = 10 L = [i for i in range(n)] L # [0, 1, 2, 3, 4, 5, 6, 7, 8 ...
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- C语言中复数运算及调用blas,lapack中复数函数进行科学计算
C语言中常用的数据类型主要int, float ,double ,char 等,但在科学运算中复数扮演着重要角色.这里讲下C语言中的复数运算以及如何调用blas,lapack库中的复数函数来进行科学计 ...
- LeetCode解题中位运算的运用
位运算是我最近才开始重视的东西,因为在LeetCode上面刷题的时候发现很多题目使用位运算会快很多.位运算的使用包含着许多技巧(详细可以参考http://blog.csdn.net/zmazon/ar ...
- java中位运算
1byte(字节)=8bit(比特) 1 0 0 0 0 0 0 0 1 2进制的1的原码 反码 补码 0 0 0 0 0 0 0 0 2进制的0的原码 反码 补码 -1 1 0 0 0 0 ...
- java中 & ^ ~ 的运算
java运算符 与(&).非(~).或(|).异或(^) 最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) { 2 i ...
- C++中位运算
简介 1 位逻辑运算符: & (位 “与”) and ----------------- 2个都为1 才是1-----------0^0 = 0 , 0^1 = 0, 1^0 = 0 ...
- C语言中的运算和运算符
一.运算符的优先级和结合性 1,优先级 运算符一览表中,运算符越靠上,优先级越高. 2,结合性 假如用O表示需要两个操作数的双目运算符,那么对于表达式aObOc: 左结合运算符会将表达式解释为 (a ...
随机推荐
- vmdk转qcow2格式
关闭vm 多文件格式转换成单文件格式vmdk 进入cmd命令行模式的窗口 进入VMware workstations的安装路径下 vmware-vdiskmanager.exe -r "E: ...
- 如何在ORACLE中查询某一用户下所有的空表
先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一 ...
- JAVA方法参数传递
package demo.methodparamDemo; public class MethodParamsDemo { public static void main(String[] args) ...
- 【函数】raise 函数(小窗help)
在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称. 异常名称标识出具体的类: Python异常处理是那些类的对象. 执行raise语句时,Python会创建 ...
- spring 之 类型转换 2
spring内置的转换器 在spring xml 文件中,配置属性的时候, 不管实际是 list 还是map ,还是Date, 或者原生的java 类型, 我们只能配置xml 给它们. 那么 spri ...
- Github使用笔记——创建远程库
系统:CentOS7 一.yum install git 二.配置 git config --global user.name "XXX" git config -global u ...
- mac os High Sierra 升级错误
升级mac OS High Sierra错误 已经成功从10.10升级到10.12.8 mac OS Sierra了.就是升级到10.13报错. you may not install to thi ...
- IIC 设备使用
通过 读 / 写 IIC 设备上特定的存储空间,来使用设备提供的功能: 存储空间地址 = 设备名 + 设备地址(Slave Address) + 寄存器地址 . 注:设备地址.寄存器地址.地址中写入数 ...
- springBoot框架的搭建
1新建一个项目: 2.注意选择JDK1.8,和选择spring initializr加载springBoot相关jar包: 3.下一步next: 4.下一步next,选择Web和MyBatis然后ne ...
- source tree常用功能
参考地址: https://blog.csdn.net/weixin_39568744/article/details/81413198