MATLAB学习 矩阵分析(矩阵范数,秩, 行列式,迹, 化零矩阵)

文章目录

  • 矩阵范数
  • 行列式
  • 化零矩阵
  • 矩阵的正交空间(矩阵Q)
  • 矩阵的约化行阶梯形式
  • 矩阵空间之间的夹角

MATLAB学习 矩阵分析(矩阵范数,秩, 行列式,迹, 化零矩阵)_第1张图片 MATLAB学习 矩阵分析(矩阵范数,秩, 行列式,迹, 化零矩阵)_第2张图片

矩阵范数

MATLAB学习 矩阵分析(矩阵范数,秩, 行列式,迹, 化零矩阵)_第3张图片

clear all 
clc
format compact
x=1:6
x_=norm(x,1) % 向量的1范数,元素的绝对值之和
a=norm(x,2) % 向量的2范数,或norm(x)
b=norm(x,inf) % 向量的无穷范数,元素绝对值的极大值,或max(abs(x))
c=norm(x, -inf) % 向量的负无穷范数,元素绝对值的极小值即min(abs(x))
d=diag([2,7,3])
d(3)=10
e=norm(d)  % 矩阵的2范数,即最大奇异值 
f=norm(d,1) %矩阵的1范数,即max(sum(abs(a))),列和极大
g=norm(d,inf) % 矩阵的无穷范数,即max(sum(abs(a'))),行和极大
h=norm(d,'fro') % 矩阵的Frobenius范数,即sqrt(sum(diag(a'*a)))
x =
     1     2     3     4     5     6
x_ =
    21
a =
    9.5394
b =
     6
c =
     1
d =
     2     0     0
     0     7     0
     0     0     3
d =
     2     0     0
     0     7     0
    10     0     3
e =
   10.6151
f =
    12
g =
    13
h =
   12.7279
>> 

矩阵的线性无关的列向量的个数:列秩
矩阵的线性无关的行向量的个数:行秩
在这里插入图片描述

clear all 
clc
format compact
a=[2 4 5;7 9 13;3 14 5]
b=magic(3)
c=[1,2,4;3,7,10]
d=[rank(a) rank(b) rank(c)]
a =
     2     4     5
     7     9    13
     3    14     5
b =
     8     1     6
     3     5     7
     4     9     2
c =
     1     2     4
     3     7    10
d =
     3     3     2
>> 

行列式

MATLAB学习 矩阵分析(矩阵范数,秩, 行列式,迹, 化零矩阵)_第4张图片

a=[2 4 5;7 9 13;3 14 5]
b=magic(3)
c=[1,2,4;3,7,10;34 2 5]
d=[det(a) det(b) det(c)]
disp(['a的行列式值:', num2str(d(1))])
disp(['b的行列式值:', num2str(d(2))])
disp(['c的行列式值:', num2str(d(3))])
a =
     2     4     5
     7     9    13
     3    14     5
b =
     8     1     6
     3     5     7
     4     9     2
c =
     1     2     4
     3     7    10
    34     2     5
d =
   97.0000 -360.0000 -263.0000
a的行列式值:97
b的行列式值:-360
c的行列式值:-263
>> 

矩阵对角元素之和。

a=[2 4 5;7 9 13;3 14 5]
b=magic(3)
c=[1,2,4;3,7,10;34 2 5]
d=[trace(a) trace(b) trace(c)]
disp(['a的迹:', num2str(d(1))])
disp(['b的迹:', num2str(d(2))])
disp(['c的迹:', num2str(d(3))])
a =
     2     4     5
     7     9    13
     3    14     5
b =
     8     1     6
     3     5     7
     4     9     2
c =
     1     2     4
     3     7    10
    34     2     5
d =
    16    15    13
a的迹:16
b的迹:15
c的迹:13
>> 

化零矩阵

对于非满秩矩阵A,若存在矩阵B使 A ∗ B = 0 A*B=0 AB=0,且 B ∗ B = I B*B=I BB=I,即不等于0,则称矩阵B为矩阵A的化零矩阵

a=[1,2,3;3,4,5;7 8 9]
b=null(a)
c=a*b
d=null(a,'r')  % 返回有理数形式的化零矩阵
e=a*d
a =
     1     2     3
     3     4     5
     7     8     9
b =
    0.4082
   -0.8165
    0.4082
c =
   1.0e-15 *
    0.5551
   -0.1110
   -0.9992
d =
     1
    -2
     1
e =
     0
     0
     0
>> 

矩阵的正交空间(矩阵Q)

在这里插入图片描述

a=[1,2,3;3,4,5;7 8 9]
q=orth(a)
b=q'*q
c=rank(a)==rank(q)
a =
     1     2     3
     3     4     5
     7     8     9
q =
   -0.2262   -0.8143
   -0.4404   -0.4040
   -0.8688    0.4168
b =
    1.0000   -0.0000
   -0.0000    1.0000
c =
  logical
   1
>> 

矩阵的约化行阶梯形式

a=[1,2,3;3,4,5;7 8 9]
[R,jb]=rref(a) % R是约化行阶梯形式,jb是1*r的向量,r是a的秩
b=a(:,jb) % a的列矢量构成的线性空间
a =
     1     2     3
     3     4     5
     7     8     9
R =
     1     0    -1
     0     1     2
     0     0     0
jb =
     1     2
b =
     1     2
     3     4
     7     8
>> 

矩阵空间之间的夹角

代表两个矩阵线性相关的程度,夹角越小越相关,用subspace()函数求两个矩阵的夹角

a=[1,2,3;3,4,5;7 8 9]
b=magic(3) % a,b必须同维
c=subspace(a,b)
a =
     1     2     3
     3     4     5
     7     8     9
b =
     8     1     6
     3     5     7
     4     9     2
c =
   6.4765e-16
>> 

你可能感兴趣的:(matlab)