本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

norm

向量范数和矩阵范数

说明

示例

n = norm(v) 返回向量 v欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。

示例

n = norm(v,p) 返回广义向量 p-范数

示例

n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))

示例

n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p12Inf

示例

n = norm(X,'fro') 返回矩阵 XFrobenius 范数

示例

全部折叠

创建一个向量并计算模。

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

计算向量的 1-范数,该范数为元素模的总和。

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

计算两个点之间的距离作为向量元素之差的范数。

创建两个向量,表示欧几里德平面上两个点的 (x,y) 坐标。

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

使用 norm 来计算点之间的距离。

d = norm(b-a)
d = 2.8284

在几何学上,点之间的距离等于从一个点延伸到另一个点的向量的模。

a=0iˆ+3jˆb=-2iˆ+1jˆd(a,b)=||b-a||=(-2-0)2+(1-3)2=8

计算矩阵的 2-范数,该范数为最大奇异值。

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

使用 'fro' 计算一个稀疏矩阵的 Frobenius 范数,该稀疏矩阵计算列向量 S(:) 的 2-范数。

S = sparse(1:25,1:25,1);
n = norm(S,'fro')
n = 5

输入参数

全部折叠

输入向量。

数据类型: single | double
复数支持:

输入矩阵。

数据类型: single | double
复数支持:

范数类型,指定为 2(默认值)、不同正整数标量、Inf-Infp 的有效值及其返回的内容取决于 norm 的第一个输入为矩阵还是向量,如表中所示。

注意

此表并未反映计算所用的实际算法。

p矩阵向量
1max(sum(abs(X)))sum(abs(X))
2 max(svd(X))sum(abs(X).^2)^(1/2)
正的实数值 psum(abs(X).^p)^(1/p)
Infmax(sum(abs(X')))max(abs(X))
-Infmin(abs(X))

输出参数

全部折叠

矩阵或向量范数,返回为标量。范数为元素模的测度。按照惯例,如果输入包含 NaN 值,norm 将返回 NaN

详细信息

全部折叠

欧几里德范数

具有 N 个元素的向量 v 的欧几里德范数(也称为向量模、欧几里德长度或 2-范数)的定义如下:

v=k=1N|vk|2.

常规向量范数

具有 N 个元素的向量 v 的 p-范数的常规定义是

vp=[k=1N|vk|p]1/p,

,其中 p 是任何正的实数值、Inf-Inf。一些值得关注的 p 值包括:

  • 如果 p = 1,则所得的 1-范数是向量元素的绝对值之和。

  • 如果 p = 2,则所得的 2-范数是向量的模或欧几里德长度。

  • 如果 p = Inf,则 v=maxi(|v(i)|)

  • 如果 p = -Inf,则 v=mini(|v(i)|)

最大绝对列之和

m×n 矩阵 X (m,n >= 2) 的最大绝对列之和由

X1=max1jn(i=1m|aij|).

定义

最大绝对行之和

m×n 矩阵 X (m,n >= 2) 的最大绝对行之和由

X=max1im(j=1n|aij|).

定义

Frobenius 范数

m×n 矩阵 X (m,n >= 2) 的 Frobenius 范数由

XF=i=1mj=1n|aij|2=trace(XX).

定义

提示

  • 使用 vecnorm 将矩阵或数组视为向量的集合并计算指定维度上的范数。例如,vecnorm 可以计算矩阵中每列的范数。

扩展功能

另请参阅

| | | | |

在 R2006a 之前推出