Main Content


Vector and matrix norms



n = norm(v) returns the Euclidean norm of vector v. This norm is also called the 2-norm, vector magnitude, or Euclidean length.


n = norm(v,p) returns the generalized vector p-norm.


n = norm(X) returns the 2-norm or maximum singular value of matrix X, which is approximately max(svd(X)).

n = norm(X,p) returns the p-norm of matrix X, where p is 1, 2, or Inf:


n = norm(X,"fro") returns the Frobenius norm of matrix or array X.


collapse all

Create a vector and calculate the magnitude.

v = [1 -2 3];
n = norm(v)
n = 3.7417

Calculate the 1-norm of a vector, which is the sum of the element magnitudes.

v = [-2 3 -1];
n = norm(v,1)
n = 6

Calculate the distance between two points as the norm of the difference between the vector elements.

Create two vectors representing the (x,y) coordinates for two points on the Euclidean plane.

a = [0 3];
b = [-2 1];

Use norm to calculate the distance between the points.

d = norm(b-a)
d = 2.8284

Geometrically, the distance between the points is equal to the magnitude of the vector that extends from one point to the other.


Calculate the 2-norm of a matrix, which is the largest singular value.

X = [2 0 1;-1 1 0;-3 3 0];
n = norm(X)
n = 4.7234

Calculate the Frobenius norm of a 4-D array X, which is equivalent to the 2-norm of the column vector X(:).

X = rand(3,4,4,3);
n = norm(X,"fro")
n = 7.1247

The Frobenius norm is also useful for sparse matrices because norm(X,2) does not support sparse X.

Input Arguments

collapse all

Input vector.

Data Types: single | double
Complex Number Support: Yes

Input array, specified as a matrix or array. For most norm types, X must be a matrix. However, for Frobenius norm calculations, X can be an array.

Data Types: single | double
Complex Number Support: Yes

Norm type, specified as 2 (default), a positive real scalar, Inf, or -Inf. The valid values of p and what they return depend on whether the first input to norm is a matrix or vector, as shown in the table.


This table does not reflect the actual algorithms used in calculations.

2 max(svd(X))sum(abs(v).^2)^(1/2)
Positive, real-valued numeric scalarsum(abs(v).^p)^(1/p)

Output Arguments

collapse all

Norm value, returned as a scalar. The norm gives a measure of the magnitude of the elements. By convention, norm returns NaN if the input contains NaN values.

More About

collapse all

Euclidean Norm

The Euclidean norm (also called the vector magnitude, Euclidean length, or 2-norm) of a vector v with N elements is defined by


General Vector Norm

The general definition for the p-norm of a vector v that has N elements is


where p is any positive real value, Inf, or -Inf.

  • If p = 1, then the resulting 1-norm is the sum of the absolute values of the vector elements.

  • If p = 2, then the resulting 2-norm gives the vector magnitude or Euclidean length of the vector.

  • If p = Inf, then v=maxi(|v(i)|).

  • If p = -Inf, then v=mini(|v(i)|).

Maximum Absolute Column Sum

The maximum absolute column sum of an m-by-n matrix X (with m,n >= 2) is defined by


Maximum Absolute Row Sum

The maximum absolute row sum of an m-by-n matrix X (with m,n >= 2) is defined by


Frobenius Norm

The Frobenius norm of an m-by-n matrix X (with m,n >= 2) is defined by


This definition also extends naturally to arrays with more than two dimensions. For example, if X is an N-D array of size m-by-n-by-p-by-...-by-q, then the Frobenius norm is



  • Use vecnorm to treat a matrix or array as a collection of vectors and calculate the norm along a specified dimension. For example, vecnorm can calculate the norm of each column in a matrix.

Extended Capabilities

Version History

Introduced before R2006a

expand all