datetime:2023/09/19 14:11
author:nzb
该项目来源于大佬的动手学ROS2
1.矩阵与矩阵运算
本节我们来学习一下线性代数的基础中的矩阵部分,矩阵作为我们学习机器人学中最常用的基础知识,后面学习过程中我们会经常遇到,比如:表示旋转的旋转矩阵、坐标变换中的齐次矩阵、关节速度映射雅可比矩阵、仿真中的惯性矩阵等等。所以很有必要在正式学习之前,了解一下矩阵的概念及常用的矩阵定义。
1.矩阵介绍
1.1 矩阵定义
由 个数 排成的m行n列的矩阵表格
称为一个的矩阵,记为为或 ,当 时称 为 阶方阵.
矩阵就是一堆可能存在着某种联系数的组合,编号规则也很简单,第一行第一列的数编号为 ,第二行第一列叫做 ,以此类推
如果两个矩阵都是m*n个数组成,则称两个矩阵为同型矩阵。
1.2 零矩阵
所谓零矩阵,就是矩阵中每个数都是 ,比如一个 的 矩阵(零矩阵常用 来表示)
零矩阵是不是和自然数零一样神奇呢?
根据矩阵的运算法则,零矩阵有以下性质,下一节我们会来动手验证。
任何矩阵(前提符合运算法则)与零矩阵相加、减结果都是其本身
零矩阵与任何矩阵的相乘结果都是零矩阵(注意,矩阵型号可能会变)
1.3 单位矩阵
主对角线上的元素都为 ,其余元素全为 的 阶矩阵称为 阶单位矩阵,常用符号 表示,如
单位矩阵的性质与自然数1相似
根据矩阵的运算法则,单位矩阵有以下性质:
任何矩阵与单位矩阵的乘积结果为其本身
2.矩阵的运算
2.1加减法运算
两个矩阵相加减,即其对应元素相加减。
设矩阵 有
只有两个矩阵为同型矩阵时才能进行加减运算。
运算性质
交换律:
结合律:
乘法结合律:
栗子:
2.2乘法运算
乘法运算分为两种,一种是标量乘法,一种是矩阵乘法。
2.2.1 标量乘法
标量乘法即一个矩阵和一个数相乘。运算法则:将矩阵的每一个元素都乘上这个数即可
栗子:
2.2.2 矩阵运算
运算法则
设矩阵 ,则 的第 行第 列的元素 的值等于矩阵A的第 行元素和矩阵B的第 列元素两两乘积之和。
栗子:
设:
则
乘积之和其实就是点乘运算,比如栗子:
矩阵的乘法的意义是非常有意思的,这里放一个链接,欢迎大家阅读: 矩阵乘法的本质是什么?
运算性质
尝试计算下上面栗子中的 的值,得到的结果依然是上面栗子中的 吗?
答案:并不是,一般情况下,矩阵的乘法并不满足交换律
矩阵的运算规律:
结合律
分配律
2.3转置运算
转置运算定义非常简单,将矩阵的对应行列元素互换(右上角加 表示)
栗子:
运算规律
3.重要定义
3.1 矩阵的逆
3.1.1 定义
是n阶方阵,E是n阶单位矩阵,若 ,则称 是可逆矩阵,并称B是A的逆,且逆矩阵是唯一的,记作
这个我们本节课就不举栗子了,下节课我们使用代码来直接求。
注意:不一定所有的矩阵都是可逆的
3.1.2 运算规律
可逆,