| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++之 Eigen-3.4.0 全方位教程:Chapter03-数组篇 -> 正文阅读 |
|
[C++知识库]C++之 Eigen-3.4.0 全方位教程:Chapter03-数组篇 |
数组(The Array class)数组是比较通用的类,不像矩阵专注于线性代数。 此外,Array类提供了一种简单的方法来执行系数操作,这可能没有线性代数含义,例如向数组中的每个系数添加一个常数或将两个数组按系数相乘。 数组类型Array是一个类模板,它采用与Matrix相同的模板参数。与Matrix 一样,前三个模板参数是必需的:
后面三个参数和矩阵类完全相同,详情请参考 矩阵类 Eigen还为一些常见情况提供了 typedef,其方式类似于Matrix typedef,但有一些细微差别,因为“数组”一词用于一维和二维数组。 Eigen采用这样的约定,即 ArrayNt 形式的 typedef 代表一维数组,其中 N 和 t 是大小和标量类型,如本页中解释的矩阵typedef所示。对于二维数组,我们使用 ArrayNNt 形式的 typedef。 示例:
访问数组Eigen重载了括号运算符访问数组。 同时,左移运算符也被重载用于(逗号)初始化,和打印输出。
输出:
四则运算
两个数组的加减与矩阵相同。如果两个数组具有相同的大小,并且加法或减法是按系数进行的,则该操作是有效的。 数组还支持
首先, 但是!!!, ? 矩阵相乘的结果为矩阵乘积; ? 数组相乘的结果为系数乘积;
输出:
其他函数操作
输出:
数组和矩阵相互转换线性代数运算时需要用矩阵类,系数运算时需要用数组类;但是往往需要两种类型交替使用。 所以数组和矩阵的相互转换就显得尤为重要了, Eigen禁止在表达式中混合矩阵和数组。例如,您不能直接添加矩阵和数组;运算+符的操作数要么都是矩阵,要么都是数组。但是,使用.array()和.matrix()很容易从一种转换到另一种。 这条规则的例外是赋值运算符:允许将矩阵表达式赋值给数组变量,或将数组表达式赋值给矩阵变量。 因此两个同尺寸的矩阵转换成数组相乘再分配给矩阵的语法也是合法的: 事实上,这种用法非常普遍,以至于Eigen为矩阵提供了一个const .cwiseProduct(.)方法来计算系数乘积。
输出
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:38:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |