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

上一篇:C#生成不重复随机数列表


下一篇:iOS 8安装教程图解