Matlab norm 用法小记

 

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

norm

Vector and matrix norms

Syntax

  • n = norm(A)
    n = norm(A,p)
    

Description

The norm of a matrix is a scalar that gives some measure of the magnitude of the elements of the matrix. The norm function calculates several different types of matrix norms:

n = norm(A) returns the largest singular value of A, max(svd(A)).

n = norm(A,p) returns a different kind of norm, depending on the value of p.

If p is... Then norm returns...
1 The 1-norm, or largest column sum of A, max(sum(abs(A)).
2 The largest singular value (same as norm(A)).
inf The infinity norm, or largest row sum of A, max(sum(abs(A'))).
'fro' The Frobenius-norm of matrix A, sqrt(sum(diag(A'*A))).
 

When A is a vector:

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

Remarks

Note that norm(x) is the Euclidean length of a vector x. On the other hand, MATLAB uses "length" to denote the number of elements n in a vector. This example uses norm(x)/sqrt(n) to obtain the root-mean-square (RMS) value of an n-element vector x.

  • x = [0 1 2 3]
    x = 
         0     1     2     3
    
    sqrt(0+1+4+9)   % Euclidean length
    ans =
        3.7417
    
    norm(x)
    ans =
        3.7417
    
    n = length(x)   % Number of elements
    n =
         4
    
    rms = 3.7417/2  % rms = norm(x)/sqrt(n)
    rms =
        1.8708
    
posted @ 2011-10-19 14:34  wdliming  阅读(157)  评论(0编辑  收藏  举报