Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

3.1 矩阵的建立

3.1.1 直接输入法

3.1.2 M文件建立矩阵

3.1.3 特殊矩阵(0矩阵和1矩阵)

Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

3.1.4 冒号表达式建立向量

3.1.5 linspace建立行向量

Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

3.2 矩阵的简单操作

3.2.1 索引矩阵

  1. 序号索引是先走第一列、再走第二列…逐列走——所以第2行、第3列的值,它在序号索引里是6。
  2. 如何找出矩阵A中值为5的元素在第几行、第几列?——命令为[a,b]=find(A==5)。
  3. 将下标转换为序号:m=sub2ind(size(A),行标,列标)。
  4. 将序号转换为下标(因为需要同时考虑行标、列标,所以设定两个变量):[m,n]=ind2sub(size(A),序号)。
    Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

3.2.2 重排矩阵

  1. reshape函数
  2. 矩阵(冒号) %快速重排为列向量
    Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

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函数的具体用法
Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

3.2.7 压缩矩阵

unique()
备注:doc寻求帮助,可以输出更为详细的函数用法。命令为doc unique
Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

4.1 特殊矩阵的建立

  1. 0矩阵 zeros()
  2. 1矩阵 ones()
  3. 单位矩阵 eye() 。参考:单位矩阵、下三角与上三角矩阵的建立
  4. 随机矩阵 rang()与randn()。
    参考:① rand()和randn()的用法
    Matlab生成一个0.1到0.9的随机矩阵
    Matlab如何产生指定均值和方差的随机矩阵
  5. 魔方矩阵 magic()
  6. 希尔伯特矩阵 hilb()
    参考:Matlab中创建魔方矩阵、希尔伯特矩阵、Pascal矩阵

4.2 矩阵和向量运算

矩阵与数组的区别;有关矩阵引用、合并、运算的基础知识
② 计算行列式与逆(见下图)
空间向量求数量积、向量积、夹角、模
Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础

4.3 线性方程组求解

参考:Matlab利用矩阵求线性方程组的解

4.4 矩阵的相似化简和分解

  1. 求解Jordan标准型:jordan()
  2. 求解矩阵的特征值:eig()
    Matlab之特征值与特征向量、jordan标准形

4.5 向量和矩阵的范数

norm()

4.6 矩阵分析

4.6.1 函数矩阵

Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础
插播重要内容:用sym()和syms()定义符号变量,然后进行运算。参考:Matlab的符号运算

4.6.2 矩阵函数

参考:① 矩阵函数的定义
funm函数计算常规矩阵函数
Matlab基础教程—【03+04】Matlab的矩阵操作、矩阵处理基础