Matlab矩阵的处理

专题二 Matlab矩阵的处理

2.1 特殊矩阵
1.通用的特殊矩阵
  • 特殊矩阵生成函数
    • zeros函数:产生全0矩阵
    • ones函数:产生全1矩阵
    • eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵
    • rand函数:产生(0,1)区间均匀分布的随机矩阵
    • randn函数:产生均值为0,方差为1的标准正态分布随机矩阵
  • 调用格式(以zeros函数为例)
    • zeros(m):产生m×m的零矩阵
    • zeros(m,n):产生m×n的零矩阵
    • zeros(size(A)):产生与矩阵A同样大小的零矩阵
2.用于专门学科的特殊矩阵
  • 魔方矩阵——Magic Square
    • >>>M=magic(3)
      M=
        8 1 6
        3 5 7
        4 9 2
      
    • n阶魔方阵由1,2,3,……,n2共n2个整数组成,且每行、每列以及主、副对角线上各n各元素之和都相等
    • n阶魔方阵每行每列元素的和为(1+2+3+……+n2)/n=(n+n3)/2
    • Matlab函数magic(n)产生特定的魔方阵
  • 范德蒙矩阵
    • 对于向量 V = [ V 1 , V 2 , . . . , V n ] V=[V_1,V_2,...,V_n] V=[V1,V2,...,Vn],范德蒙矩阵的一般形式为:
      V = [ v 1 n − 1 . . . v 1 2 v 1 1 v 1 0 v 2 n − 1 . . . v 2 2 v 2 1 v 2 0 v 3 n − 1 . . . v 3 2 v 3 1 v 3 0 ⋮ ⋱ ⋮ ⋮ ⋮ v n n − 1 . . . v n 2 v n 1 v n 0 ] (1) V = \left[ \begin{matrix} v_1^{n-1} & ... & v_1^{2} & v_1^{1} & v_1^{0} \\ v_2^{n-1} & ... & v_2^{2} & v_2^{1} & v_2^{0} \\ v_3^{n-1} & ... & v_3^{2} & v_3^{1} & v_3^{0} \\ \vdots & \ddots & \vdots & \vdots & \vdots \\ v_n^{n-1} & ... & v_n^{2} & v_n^{1} & v_n^{0} \end{matrix} \right]\tag{1} V=v1n1v2n1v3n1vnn1............v12v22v32vn2v11v21v31vn1v10v20v30vn0(1)

    • 函数调用

      >>A = vander(1:5)
      A = 
        1   1   1  1  1
        16  8   4  2  1
        81  27  9  3  1
        256 64  16 4  1
        625 125 25 5  1
      
    • 范德蒙矩阵常用再各种通信系统的纠错编码中

  • 希尔伯特矩阵
    • 一般形式
      H = [ 1 1 / 2 ⋯ 1 / n 1 / 2 1 / 3 ⋯ 1 / ( n + 1 ) ⋮ ⋮ ⋱ ⋮ 1 / n 1 / ( n + 1 ) ⋯ 1 / ( 2 n + 1 ) ] (2) H= \left[ \begin{matrix} 1 & 1/2 & \cdots & 1/n \\ 1/2 & 1/3 & \cdots & 1/(n+1) \\ \vdots & \vdots & \ddots & \vdots \\ 1/n & 1/(n+1) & \cdots & 1/(2n+1) \end{matrix}\right]\tag{2} H=11/21/n1/21/31/(n+1)1/n1/(n+1)1/(2n+1)(2)
      希尔伯特矩阵的元素为H(i,j)=1/(i+j-1)
    • 函数调用
      >>format rat
      >>H=hilb(4)
      H = 
          1    1/2  1/3  1/4
          1/2  1/3  1/4  1/5
          1/3  1/4  1/5  1/6
          1/4  1/5  1/6  1/7
      
  • 伴随矩阵(p为多项式系数向量,高位在前低位在后,伴随矩阵特征值等于多项式方程的根)
    • >>p=[1,-2,-5,6];
      >>A=compan(p)
      A = 
         2 5 -6
         1 0  0
         0 1  0
      
2.2 矩阵变换
1.对角阵
  • 对角阵的分类
    • 对角矩阵:只有对角线上有非零元素的矩阵
    • 数量矩阵:对角线上的元素相等的对角矩阵
    • 单位矩阵:对角线上的元素都为1的对角矩阵
  • 提取对角线元素
    • diag(A)提取矩阵主对角线元素,产生一个列向量
    • diag(A,K)提取矩阵第k条对角线元素,产生一个列向量
      对角线约定
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzatkZT9-1640316612395)(对角线约定.png)]
  • 构造对角矩阵同样使用diag函数,但参数为向量
    • diag(A)以向量V为主对角线元素,产生对角矩阵
    • diag(A,K)以向量V为第k条对角线元素,产生对角矩阵
2.三角阵
  • 上(下)三角阵
    • triu(A):提取矩阵A的主对角线及以上的元素
    • triu(A,k):提取矩阵A的第k条对角线及以上的元素
    • 下三角矩阵函数为tril用法与triu相同
3.矩阵的转置
  • 转置运算符(.’)
  • 共轭转置运算符(’),在转置基础上取每个复数的复共轭
4.矩阵的旋转与翻转
  • 矩阵旋转
    • rot90(A,k):将矩阵A逆时针方向旋转90°的k倍
  • 矩阵翻转
    • fliplr(A):对矩阵A实施左右翻转
    • flipud(A):对矩阵A实施上下翻转
5.矩阵的求逆
  • inv(A):求矩阵A的逆矩阵
2.3 矩阵求值
1.矩阵的行列式值、秩、迹
  • 矩阵求值类型调用函数
    方阵的行列式值det(A)
    矩阵的秩rank(A)
    矩阵的迹trace(A)
  • 向量和矩阵的范数
    • 范数:度量某种意义下的长度
    • 常用三种向量的范数
      • 范数1:向量元素的绝对值之和 norm(V,1)
      • 范数2:向量元素绝对值的平方和的平方根 norm(V);norm(V,2)
      • 范数∞:所有向量元素绝对值中的最大值 norm(V,inf)
    • 常用三种矩阵的范数
      • 矩阵的1——范数:所有矩阵列元素绝对值之和的最大值norm(V,1)
      • 矩阵的2——范数:矩阵最大特征值的平方根norm(V);norm(V,2)
      • 矩阵的∞——范数:所有矩阵行元素绝对值之和的最大值norm(V,inf)
  • 矩阵的条件数
    • 矩阵的条件数等于矩阵的范数和逆矩阵范数的乘积
    • 条件数越接近1,矩阵性能越好
    • 三种条件数函数
      • cond(A,1)计算1——范数下的条件数
      • cond(A)或cond(A,2)计算2——范数下的条件数
      • cond(A,inf)计算∞——范数下的条件数
2.4 矩阵的特征值和特征向量
  • 数学定义
    • 设A是n阶方阵,如果存在常数λ和n为非零列向量x,使得等式Ax=λx成立,则称λ为A的特征值,x是对应特征值λ的特征向量
    • 调用格式
      • E=eig(A):求矩阵A的全部特征值,构成向量E
      • [X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量
2.5 稀疏矩阵
  • 矩阵的存储方式(均为按列存储
    • 完全存储方式
    • 稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和列号
  • 稀疏存储方式的产生✌️
    • 完全存储方式与稀疏存储方式之间的转化
      • 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为一个三列或四列的矩阵
        • 第一列表示非零元素所在行
        • 第二列表示非零元素所在列
        • 第三列表示非零元素的实部
          )、v(i)分别是S(i)的行和列下标
    • 使用spconvert函数直接建立稀疏存储矩阵
      • B=spconvert(A)A为一个三列或四列的矩阵
        • 第一列表示非零元素所在行
        • 第二列表示非零元素所在列
        • 第三列表示非零元素的实部
        • 第四列表示非零元素的虚部
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值