欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-31 20:49:12
...

本片借鉴于

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

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

向量范数

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

当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

矩阵范数

【MATLAB】矩阵分析之向量和矩阵的范数运算       即所有矩阵列向量绝对值之和的最大值  

  【MATLAB】矩阵分析之向量和矩阵的范数运算  即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

   【MATLAB】矩阵分析之向量和矩阵的范数运算 即所有矩阵行向量绝对值之和的最大值

>> 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