MatLab 2018a 官方教程[三]

前言

MatLab 2018a 官方教程
Matlab 2018a 官方教程[二]
接下来是要讲一讲Matlab的矩阵处理


1.特殊矩阵

  • 通用的
    • zeros
      zeros(m): m*m
      zeros(m,n) m*n
      zeros(size(A)) 与矩阵A同样大小的零矩阵
    • ones
    • eye 对角线=1,矩阵是方阵,得到单位矩阵
    • rand (0,1)区间均匀分布的随机矩阵
      fix(a+(b-a+1)*x) 产生[a,b]区间上均匀分布的随机整数
    • randn 均值=0,反差=1的标准正态分布随机矩阵
      μ+σx : 得到均值为μ,反差为σ的随机数
  • 学科矩阵
    • 魔方矩阵
>> M = magic(n)
# 每行的和为:(n+n³)/2
  • 范德蒙矩阵:各种通信系统的纠错编码
Trial>> vander([1,2,3,4,5])

ans =

     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
  • 希尔伯特矩阵:较小的变动都会发生很大的变动
Trial>> format rat
Trial>> 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     
  • 伴随矩阵
Trial>> A = compan([1,-2,-5,6])

A =

       2              5             -6       
       1              0              0       
       0              1              0  
  • 帕斯卡矩阵,杨辉三角
    它的逆矩阵的所有元素也是整数
Trial>> P = pascal(4)

P =

       1              1              1              1       
       1              2              3              4       
       1              3              6             10       
       1              4             10             20       

Trial>> inv(P)  

ans =

       4             -6              4             -1       
      -6             14            -11              3       
       4            -11             10             -3       
      -1              3             -3              1       

2.矩阵变换

  • 对角阵
    对角矩阵:只有对角线上有非零元素的矩阵
    数量矩阵:对角线上的元素相等的对角矩阵
    单位矩阵:对角线=1
    (1)提取矩阵的对角线元素
    diag(A):产生一个列向量
    diag(A,k):提取矩阵第k条对角线的元素,产生一个列向量;中间k=0;往上k>0;往下,k<0;
    (2)构造对角矩阵
    diag(V):以向量V为对角线元素,产生对角矩阵;
    diag(V,k):以向量V为第k条对角线元素,产生对角矩阵;
  • 三角阵
    上三角阵
    triu(A):提取A的主对角线及以上的元素;
    triu(A,k):提取A的第k条对角线及以上的元素;
    下三角阵
    tril(A)
    trip(A,k)
  • 转置
    符号:.'
    共轭转置:',在转置的基础上还要取每一个数的复共轭
  • 旋转
    rot90(A,k):将A逆时针旋转90°的k倍,当k=1省略;
  • 翻转
    fliplr(A):左右翻转
    flipud(A):上下翻转
    用途:提取副对角线,先把主对角线翻转,然后diag(A)提取;
  • 求逆
    AB=BA=1
    inv(A)

3.矩阵求值

  • 矩阵的行列式值 :
    方阵。
    det(A):求方阵A所对应的行列式的值;
    det(inv(A)) = 1/det(A)
  • 矩阵的秩
    线性无关的行数或者列数;rank(A);
    例如:魔方阵;奇数为满秩;
  • 矩阵的迹
    矩阵的对角线元素之和=矩阵的特征值之和
    trace(A) = sum(diag(A))
  • 矩阵的范数
    度量矩阵或矩阵在某种意义下的长度:
    三种向量
    (1)向量元素的绝对值之和 norm(V,1)
    (2)向量元素的平方和的平方根 norm(V) norm(A,2)
    (3)所有向量元素绝对值中的最大值 norm(V,inf)
    三种矩阵
    (1) 矩阵列元素绝对值之和的最大值
    (2) A'A矩阵的最大特征值的平方根 √λ
    (3)所有矩阵行元素绝对值之和的最大值
  • 矩阵的条件数
    A的条件数=A的范数与A的逆矩阵的范数的乘积
    条件数越接近1,矩阵的性能越好,反之,性能越差;
    (1)cond(A,1)
    (2)cond(A,2) cond(A)
    (3)cond(A,inf)

4.特征值与特征向量

Ax=λx: x:特征向量
E=eig(A):A的全部特征值,构成向量E
[X,D]=eig(A):A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量
几何意义:图像变换

5.稀疏矩阵

0远远大于1的个数
矩阵的存储方式

  • 完全存储
  • 稀疏存储:只存储矩阵的非零元素的值以及位置;

稀疏存储方式的产生
(1) A=sparse(S),矩阵S转化为稀疏存储方式的矩阵A
S = full(A) , 矩阵A转化为完全存储方式的矩阵S
(2) 直接建立稀疏存储矩阵
sparse(m,n):生成一个m*n的所有元素都是零的稀疏矩阵
sparse(u,v,S):uvS是三个等长的向量。S是要简历稀疏存储矩阵的非零元素,uv分布是S的行和列下标
(3)带状稀疏矩阵,对角线
[B,d]=spdiags(A)
A=spdiags(B,d,m,n)
(4)
speye(m,n) 单位矩阵
稀疏矩阵的应用

你可能感兴趣的:(MatLab 2018a 官方教程[三])