【MATLAB】矩阵分析之向量和矩阵的范数运算

本片借鉴于

https://blog.csdn.net/u013534498/article/details/52674008

https://blog.csdn.net/left_la/article/details/9159949

向量范数


当p=1时,即为各个向量的元素绝对值之和

>> norm(x,1)

ans =

    21

>> x

x =

     1     2     3     4     5     6

>> norm(x,1)

ans =

    21

当p=2时,向量元素绝对值的平方和再开方

>> norm(x,2)

ans =

    9.5394

当p=+∞,即所有向量元素绝对值中的最大值

当p=-∞,即所有向量元素绝对值中的最小值

>> norm(x,inf)

ans =

     6

>> norm(x,-inf)

ans =

     1

矩阵范数

       即所有矩阵列向量绝对值之和的最大值  

    即A'A矩阵的最大特征值的开平方

当矩阵维数较大时,会导致计算矩阵范数的时间比较长,并且当一个近似的范数满足要求时,可以考虑使用函数normest( )来估计二阶范数值。

【这里额外补充一下怎么求矩阵的最大特征值】

eig(A):求包含矩阵A的特征值的向量

[X,D]=eig(A),产生一个矩阵A的特征值在对角线上的对角矩阵D和矩阵X,他们的列是相应的特征向量,满足AX=XD。

>> a=[0.8 0.2;0.2 0.8]

a =

    0.8000    0.2000
    0.2000    0.8000

>> [q,d]=eig(a)

q =

   -0.7071    0.7071
    0.7071    0.7071


d =

    0.6000         0
         0    1.0000

    即所有矩阵行向量绝对值之和的最大值

>> a=[1 2 3;4 5 6;7 8 9]

a =

     1     2     3
     4     5     6
     7     8     9

>> norm(a)

ans =

   16.8481

>> norm(a,1)

ans =

    18

>> norm(a,2)

ans =

   16.8481

>> norm(a,inf)

ans =

    24

猜你喜欢

转载自blog.csdn.net/csdn___csdn/article/details/81050811