matlab norm 范式

格式:n=norm(A,p) 

功能:norm函数可计算几种不同类型的矩阵范数,根据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)) 

 

%X为向量,求欧几里德范数,即 。

n = norm(X,inf) %求 -范数,即 。

n = norm(X,1) %求1-范数,即 。

n = norm(X,-inf) %求向量X的元素的绝对值的最小值,即 。

n = norm(X, p) %求p-范数,即 ,所以norm(X,2) = norm(X)。

 

命令 矩阵的范数函数 norm格式 n = norm(A) %A为矩阵,求欧几里德范数 ,等于A的最大奇异值。

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

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

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

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

计算公式如下, 举个例子吧:

>>a=magic(3)

 

a =

 

     8     1     6

     3     5     7

     4     9     2

 

>> sum(sum(abs(a)^4))^(1/4)

 

ans =

 

   19.7411

 

norm(A,p)
当A是向量时
norm(A,p)   Returns sum(abs(A).^p)^(1/p), for any 1 <= p <= ∞.
norm(A)    Returns norm(A,2)
norm(A,inf)   Returns max(abs(A)).
norm(A,-inf)   Returns min(abs(A)).

当A是矩阵时
n = norm(A) returns the largest singular value of A, max(svd(A))
n = norm(A,1) The 1-norm, or largest column sum of A, max(sum(abs(A)).
n = norm(A,2) The largest singular value (same as norm(A)).
n = norm(A,inf) The infinity norm, or largest row sum of A, max(sum(abs(A')))
n = norm(A,'fro') The Frobenius-norm of matrix A, sqrt(sum(diag(A'*A))).

posted @ 2013-11-26 14:40  技术让梦想更伟大  阅读(1336)  评论(0编辑  收藏  举报