目录
1.4.3矩阵的拼接重构重排
1.矩阵的拼接:
1.横向拼接:
A和B的行数相同,使用[A,B]、[A B]、cat(2,A,B)都能将A和B横向拼接成一个大的矩阵;
2.纵向拼接:
A和B的列数相同,使用[A;B]、cat(1,A,B)都能将A和B横向拼接成一个大的矩阵。
2.矩阵的重构重排:
1.reshape函数:更改矩阵形状,reshape(A,m,n)或者reshape(A,[m,n]);
ps:按照线性索引的方向,对矩阵中的元素进行重排
即:A( : )和B( : )输出的结果是一样的。
2.sort函数:对向量或者矩阵进行排序,sort(A,dim)。在最后面加一个输入参数“descend”,变成从大到小的降序排列;
- dim=1时,沿着行方向(从上至下)对矩阵的每一列升序排列;
dim=2时,沿着列方向(从左至右)对矩阵的每一行升序排列。
3.sortrows函数:基于矩阵的某一列对矩阵进行排序,同一行的元素不会改变。sortrows(score,列),在最后面加一个输入参数“descend”,变成从大到小降序排列。
1.4.4 矩阵的运算
1.4.4.1矩阵运算之常见函数运算
主要掌握用help函数学习
Ps:在命令行窗口输入help sum(函数名),即可查获函数的具体用法
例:
1.求和函数sum:
2.求乘积函数prod(product):
与sum函数用法类似
1.4.4.2矩阵运算之算术运算
1.运算加减——五种兼容模式
情形 | 示例:A+B | 计算结果 | 解释 | |||
两个大小完全相同的输入 | A= 6 5 6 2 9 2 | B= 7 8 9 8 6 2 | ans= 13 13 15 10 15 4 | 对应位置相加和 | ||
有一个输入是标量(常数) | A= 2 1 3 7 2 4 | B= 4 | ans= 6 5 7 11 6 8 | 矩阵的每个元素都加上这个标量 | ||
一个输入是矩阵,另一个输入是具有相同行数的列向量 | A= 3 6 5 2 6 8 | B= 6 5 | ans= 9 12 11 7 11 13 | 把B堆叠成完全相同的列,再和A相加。 相当于repmat(B,1,3) | ||
一个输入是矩阵,另一个输入是具有相同列数的行向量 | A= 3 5 6 6 9 4 | B= 3 9 6 | ans= 6 14 12 9 18 10 | 把B堆叠成完全相同的行,再和A相加 相当于repmat(B,2,1) | ||
一个输入是列向量,另一个输入是行向量 | A= 2 5 | B= 1 8 3 | ans= 3 10 5 6 13 8 | 把A堆叠成完全相同的三列,把B堆叠成完全相同的两行。 相当于repmat(A,1,3)和repmat(B,2,1) | ||
2.乘除乘方
1.*和.*分别表示两个矩阵相乘,和两个矩阵的对应元素相乘(此时应当满足加减法中的五种兼容模式);
2./(右除)、\(左除)和./
ps:左除和右除在MATLAB里面有自己的一套运算法则,是用来解方程组的,不需要强记,要用的时候去查就好,而./则与.*相类似,为矩阵对应元素相除。
3.^和.^
4.矩阵的转置’ (转置的同时取每一项的共轭复数)和.’ (仅转置但不取共轭)
1.4.4.3矩阵运算之关系运算符
同编程语言一致,真为1,假为0。
等于==
不等于~=
大于>
大于等于>=
小于<
小于等于<=