当前位置:网站首页>MATLAB从入门到精通(二)

MATLAB从入门到精通(二)

2022-04-23 18:07:00 京都小白


笔记来源于B站视频link,推荐大家去看一看

专题二 MATLAB矩阵处理

2.1 特殊矩阵

一类是通用性的特殊矩阵,另一类是用于专门学科的特殊矩阵

  • 通用的特殊矩阵

    • zeros函数:产生全0矩阵,即零矩阵
    • ones函数:产生全1矩阵,即幺矩阵
    • eye函数:产生对角线为1地矩阵。当矩阵是方阵时,得到一个单位矩阵。
    • rand函数:产生(0,1)区间均匀分布的随机矩阵
    • randn函数:n代表normal,正态分布的意思,产生均值为0,方差为1的标准正态分布随机矩阵

    这几种函数的调用格式相似,以zero函数为例进行说明:

    • zeros(m):产生m×m的零矩阵

    • zeros(m,n):产生m行n列的零矩阵

    • zeros(size(A)):产生于矩阵同样大小的零矩阵

在这里插入图片描述

  • 用于专门学科的特殊矩阵

    1. 魔法矩阵——Magic Square

      • n阶魔方阵由1,2,3,……n2 共n2 个整数组成,且每行、每列以及主、副对角线上各n各元素之和都相等
      • n阶魔方阵每行每列元素的和为(1+2+3+……+n2)/n=(n+n3)/2
      • MATLAB函数magic(n)只产生一个特定的魔方阵。

在这里插入图片描述

  1. 范德蒙矩阵

    对于向量v=[v1,v2,……,vn],范德蒙矩阵的一般形式为:

在这里插入图片描述

在MATLAB中,函数vander(V)生成以向量V为基础的范德蒙矩阵。

在这里插入图片描述

范德蒙矩阵常用在各种通信系统的纠错编码中,如Reed-Solomon编码即为范德蒙矩阵为基础。

  1. 希尔伯特矩阵

n阶希尔伯特矩阵的一般形式为:

在这里插入图片描述

H(i,j)=1/(i+j-1)

在MATLAB中,生成n阶希尔伯特矩阵的函数是hilb(n)。

在这里插入图片描述

  1. 伴随矩阵

    设多项式p(x)为anxn+an-1xn-1+……+a1x+a0,则多项式的伴随矩阵是:

在这里插入图片描述

p(x)称为矩阵A的特征多项式,方程p(x)=0的根称为A的特征值。

MATLAB中生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。例如生成x3-2x2-5x+6的伴随矩阵:

在这里插入图片描述

  1. 帕斯卡矩阵

    根据二项式定理,(x+y)n展开后的系数随着n的增大组成一个三角形表,这个三角形称为杨辉三角形。这里的三角形每行代表不同n时的二项式系数,把二项式系数依次填写在矩阵的左侧对角线上,然后提取左侧的n行n列元素即为n阶帕斯卡矩阵。

在这里插入图片描述

帕斯卡矩阵的第一行和第一列元素都为1,其余位置的元素时该元素的左边元素与上面元素相加,即P(i,j)=P(i,j-1)+P(i-1,j),且P(i,1)=1,P(1,j)=1。

在这里插入图片描述

2.2 矩阵变换

矩阵变化是指对一个矩阵进行运算,其结果还是一个矩阵。

  • 对角阵

    对角矩阵:只有对角线上有非零元素的矩阵。

    数量矩阵:对角线上的元素相等的对角矩阵。

    单位矩阵:对角线上的元素都为1的对角矩阵。

    1. 提取矩阵的对角线元素

      • diag(A):提取矩阵A主对角线元素,产生了一个列向量。

      • diag(A,K):提取矩阵A第K条对角线的元素,产生一个列向量。

        与主对角线平行,往上为第1,2,……n条,往下为第-1,-2,……-n条。

    2. 构造对角矩阵

      • diag(V):以向量V为主对角线元素,产生对角矩阵。
      • diag(V,K):以向量V为第k条对角线元素,产生对角矩阵。
  • 三角阵

    1. 上三角阵

      矩阵的对角线以下的元素全为零的矩阵

      • triu(A):提取矩阵A的主对角线及以上的元素。

      • triu(A,k):提取矩阵A的第k条对角线及以上的元素。

在这里插入图片描述

  1. 下三角阵

    对角线以上的元素全为零的矩阵

    在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。

  • 矩阵的转置

    矩阵行列交换。

    • 转置运算符是小数点后面接单引号(.')。

    • 共轭转置,其运算符是单引号(’),它在转置的基础上还要取每个数的复共轭。

在这里插入图片描述

如果矩阵的元素是实数,那么转置和共轭转置的结果是一样的。
  • 矩阵的旋转

    • rot90(A,K):将矩阵A逆时针方向旋转90°的k倍,当k为1时可省略。

在这里插入图片描述

  • 矩阵的翻转

    左右翻转将原矩阵的第一列和最后一列交换,第二列和倒数第二列交换,以此类推。

    • fliplr(A):对矩阵A实施左右翻转。
    • flipud(A):对矩阵A实施上下翻转。
  • 矩阵求逆

    • 对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I(单位矩阵),则称AB互为对方的逆矩阵。
    • inv(A):求方阵A的逆矩阵。
2.3 矩阵求值

矩阵求值是指对一个矩阵进行某种运算,其结果还是一个数值。

  • 矩阵的行列式值

    • 把一个方阵看成一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值。
    • det(A):求方阵A所对应的行列式值。
  • 矩阵的秩

    • 矩阵线性无关的行数或列数称为矩阵的秩
    • rank(A):求矩阵A的秩
    • 奇数阶魔方阵秩为n,即奇数阶魔方阵时满秩矩阵。
    • 一重偶数阶魔方阵秩为n/2+2(n是的倍数,但非4的倍数)
    • 双重偶数阶魔方阵秩均为3(劫数是4的倍数)
  • 矩阵的迹

    • 等于矩阵的对角线元素之和,也等于矩阵的特征值之和。
    • trace(A):求矩阵A的迹
  • 矩阵的范数

    • 用来度量矩阵或向量在某种意义下的长度。

    • 向量的3种常用范数:

      • 向量1—范数:向量元素的绝对值之和
      • 向量2—范数:向量元素平方和的平方根
      • 向量—无穷大范数:所有向量元素绝对值中的最大值
    • MATLAB种求向量范数的函数为:

      • norm(V,1):计算向量V的1—范数。
      • norm(V)或norm(V,2):计算向量V的2—范数。
      • norm(V,inf):计算向量V的无穷大—范数。
    • 矩阵的范数

      • 矩阵A的1—范数:矩阵列元素绝对值之和的最大值
      • 矩阵A的2—范数:矩阵A的转置与矩阵A本身的乘积矩阵的最大特征值的平方根。
      • 矩阵A的无穷大—范数:所有矩阵行元素绝对值之和的最大值
    • 求矩阵范数的函数:

      MATLAB提供了3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。

  • 矩阵的条件数

    用于描述矩阵性能的参数。

    矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。

    条件数越接近于1,矩阵的性能越好,反之矩阵的性能越差。

    • cond(A,1):计算A的1—范数下的条件数。
    • cond(A)或cond(A,2):计算A的2—范数下的条件数。
    • cond(A,inf):计算A的无穷—范数下的条件数。
2.4 矩阵的特征值与特征向量

矩阵特征值的数学定义

设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,则称 m 是矩阵A的一个特征值(characteristic value)或本征值(eigenvalue),x是对应特征值的一个特征向量。

求矩阵的特征值和特征向量

  • E=eig(A):求矩阵A的全部特征值,构成向量E

  • [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。

  • 特征值之间的几何意义

    MATLAB提供了一个eigshow函数,可以演示单位圆上的向量x和Ax之间的关系。

在这里插入图片描述

2.5 稀疏矩阵

稀疏矩阵是指0元素的个数远远多于非0元素个数的矩阵。

  • 矩阵的存储方式

    • 完全存储方式

      将矩阵的全部元素按列存储

    • 稀疏存储方式

      只存储矩阵的非零元素的值及其位置,即行号和列号。采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行存储。

  • 稀疏存储方式的产生

    • 完全存储方式与稀疏存储方式之间的转化

      • A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
      • S=full(A):将矩阵A转化为完全存储方式的矩阵S
    • 直接建立稀疏存储矩阵

      • sparse函数的其他调用格式:

        • sparse(m,n):生成一个m×n的所有元素都是0的稀疏矩阵
        • sparse(u,v,S):其中u、v、s是3个等长的向量。S是要建立的系数存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行和列下标。
      • 使用spconvert函数直接建立系数存储矩阵,其调用格式为:

        B=spconvert(A)

        A是一个m×3或m×4的矩阵,其每行表示一个非零元素,m是非零元素的个数。

        • A(i,1)表示第i个非零元素所在的行
        • A(i,2)表示第i个非零元素所在的列
        • A(i,3)表示第i个非零元素的实部
        • A(i,4)表示第i个非零元素的虚部

        若矩阵的全部元素都是实数,则无须第4列

    • 带状稀疏矩阵的稀疏存储

      稀疏矩阵有两种基本类型:无规则结构的稀疏矩阵与有规则结构的稀疏矩阵

      带状稀疏矩阵是指所有非零元素集中在对角线上的矩阵。

      • [B,d]=spdigs(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d
      • A=spdiags(B,d,m,n):产生带状稀疏矩阵的系数存储矩阵A,其中m、n为原带状稀疏矩阵的行数和列数,矩阵B的第i列即为原带状稀疏矩阵的第i条非零对角线,向量d为原带状稀疏矩阵所有非零对角线的位置。
    • 单位矩阵的稀疏存储

      单位矩阵:只有对角线元素为1,其他元素为0的矩阵。

      • speye(m,n):返回一个m×n的稀疏存储单位矩阵

版权声明
本文为[京都小白]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_53602804/article/details/124367164