MATLAB 中NORM运用

时间:2021-11-17 22:54:13

格式:n=norm(A,p)
功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数

以下是Matlab中help norm 的解释

NORM   Matrix or vector norm.
    For matrices...
      NORM(X) is the largest singular value of X, max(svd(X)).
      NORM(X,2) is the same as NORM(X).
      NORM(X,1) is the 1-norm of X, the largest column sum,
                      = max(sum(abs(X))).
      NORM(X,inf) is the infinity norm of X, the largest row sum,
                      = max(sum(abs(X'))).
      NORM(X,'fro') is the Frobenius norm, sqrt(sum(diag(X'*X))).
      NORM(X,P) is available for matrix X only if P is 1, 2, inf or 'fro'.
    For vectors...
      NORM(V,P) = sum(abs(V).^P)^(1/P).
      NORM(V) = norm(V,2).
      NORM(V,inf) = max(abs(V)).
      NORM(V,-inf) = min(abs(V)).

1、如果A为矩阵

n=norm(A) 《Simulink与信号处理》

返回A的最大奇异值,即max(svd(A))

n=norm(A,p)

根据p的不同,返回不同的值

 p  返回值
 1  返回A中最大一列和,即max(sum(abs(A)))
 2  返回A的最大奇异值,和n=norm(A)用法一样
inf  返回A中最大一行和,即max(sum(abs(A’)))
 ‘fro’  A和A‘的积的对角线和的平方根,即sqrt(sum(diag(A'*A)))

2、如果A为向量

norm(A,p)

返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1<p<+∞.

norm(A)

返回向量A的2范数,即等价于norm(A,2)。

norm(A,inf)

返回max(abs(A))

norm(A,-inf)

返回min(abs(A))

矩阵 (向量) 的范数运算
为了反映了矩阵 (向量) 某些特性,线性代数中引入了范数的概念,它分为2-范数,1-范数,无穷范数和Frobenius范数等.在MATLAB中,用函数norm( )或normest( ) 计算矩阵 (向量) 的范数.其使用格式如下.
norm(X) —— 计算矩阵 (向量) X的2-范数;
norm(X,2) —— 同上;
norm(X,1) —— 计算矩阵 (向量) X的1-范数;
norm(X,inf) —— 计算矩阵 (向量) X的无穷范数;
norm(X,'fro') —— 计算矩阵 (向量) X的Frobenius范数;
normest(X) —— 只计算矩阵 (向量) X的2-范数;并且是2-范数的估计值,适用于计算norm(X)比较费时的情况.

范数(norm),是具有“长度”概念的函数。在线性代数泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度大小。半范数反而可以为非零的向量赋予零长度。

举一个简单的例子,一个二维度的欧氏几何空间MATLAB 中NORM运用就有欧氏范数。在这个向量空间的元素(譬如:(3,7))常常在笛卡儿坐标系统被画成一个从原点出发的箭号。每一个向量的欧氏范数就是箭号的长度。

拥有范数的向量空间就是赋范向量空间。同样,拥有半范数的向量空间就是赋半范向量空间。