矩阵的各种范数

矩阵的各种范数

1.     n = norm(A,1) %A的列范数,等于A的列向量的1-范数的最大值。

2.     n = norm(A,2) %A的欧几里德范数,和norm(A)相同。

3.     n = norm(A,inf) %求行范数,等于A的行向量的1-范数的最大值即:max(sum(abs(A')))

4.     n = norm(A, 'fro' ) %求矩阵AFrobenius范数,矩阵元p阶范数估计需要自己编程求,

1.     1-范数:列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A,1)

2.     2-范数:,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x,2)

3.     ∞-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A,inf)

4.     F-范数:Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A,’fro‘)

 

例子

(1)      1范数   norm(a,1)=max(sum(abs(a)))

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

a =

    1     2     3

    4     5     6

    7     8     9

norm(a,1)

ans =

   18

>> sum(abs(a))

ans =

   12    15    18

>> max(ans)

ans =

   18

 

(2)2范数

>> norm(a)

ans =

  16.8481

>> norm(a,2)

ans =

  16.8481

 

[V S]=eig(a'*a)

 

V =

 

  -0.4082   -0.7767    0.4797

   0.8165   -0.0757    0.5724

  -0.4082    0.6253    0.6651

 

S =

 

   0.0000         0         0

        0    1.1414         0

        0         0  283.8586

 

>> sqrt(S)

 

ans =

 

   0.0000         0         0

        0    1.0684         0

        0         0   16.8481

(3)∞-范数     norm(a,inf)=max(sum(abs(a),2))                               

norm(a,inf)

ans =

24

sum(abs(a),2)

ans =

    6

   15

24

(4) F-范数          norm(a,'fro')=sqrt(sum(sum(abs(a).^2)))

norm(a,'fro')

ans =

  16.8819

 

>> sum(sum(abs(a).^2))

ans =

  285

>> sqrt(ans)

ans =

  16.8819

你可能感兴趣的:(矩阵的各种范数)