Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础
3.1 矩阵的建立
3.1.1 直接输入法
3.1.2 M文件建立矩阵
3.1.3 特殊矩阵(0矩阵和1矩阵)
3.1.4 冒号表达式建立向量
3.1.5 linspace建立行向量
3.2 矩阵的简单操作
3.2.1 索引矩阵
- 序号索引是先走第一列、再走第二列…逐列走——所以第2行、第3列的值,它在序号索引里是6。
- 如何找出矩阵A中值为5的元素在第几行、第几列?——命令为[a,b]=find(A==5)。
- 将下标转换为序号:m=sub2ind(size(A),行标,列标)。
- 将序号转换为下标(因为需要同时考虑行标、列标,所以设定两个变量):[m,n]=ind2sub(size(A),序号)。
3.2.2 重排矩阵
- reshape函数
- 矩阵(冒号) %快速重排为列向量
3.2.3 矩阵转置
3.2.4 矩阵拆分
可以用冒号,也可以用中括号。例如:
M=A(1,1:end-1) %将A矩阵第一列到倒数最后一列的第一行拆出来。
M=A([1,2],[1,2]) %将第一行到第二行、第一列到第二列的矩阵拆分出来。
3.2.5 删除矩阵元素
采用赋空值的形式。
M(2)=[] %删除某一个元素
A(1,:)=[] %删除第一行的整行
3.2.6 扩展矩阵
repmat(A,m,n) %将向量/矩阵在垂直方向复制m次,在水平方向复制n次。
参考:repmat函数的具体用法
3.2.7 压缩矩阵
unique()
备注:doc寻求帮助,可以输出更为详细的函数用法。命令为doc unique
4.1 特殊矩阵的建立
- 0矩阵 zeros()
- 1矩阵 ones()
- 单位矩阵 eye() 。参考:单位矩阵、下三角与上三角矩阵的建立
- 随机矩阵 rang()与randn()。
参考:① rand()和randn()的用法
② Matlab生成一个0.1到0.9的随机矩阵
③ Matlab如何产生指定均值和方差的随机矩阵 - 魔方矩阵 magic()
- 希尔伯特矩阵 hilb()
参考:Matlab中创建魔方矩阵、希尔伯特矩阵、Pascal矩阵
4.2 矩阵和向量运算
① 矩阵与数组的区别;有关矩阵引用、合并、运算的基础知识
② 计算行列式与逆(见下图)
③ 空间向量求数量积、向量积、夹角、模
4.3 线性方程组求解
4.4 矩阵的相似化简和分解
- 求解Jordan标准型:jordan()
- 求解矩阵的特征值:eig()
Matlab之特征值与特征向量、jordan标准形
4.5 向量和矩阵的范数
norm()
4.6 矩阵分析
4.6.1 函数矩阵
插播重要内容:用sym()和syms()定义符号变量,然后进行运算。参考:Matlab的符号运算
4.6.2 矩阵函数
参考:① 矩阵函数的定义
② funm函数计算常规矩阵函数