2026a
M 语言

# vecnorm


向量范数

# 语法

N = vecnorm(A)
N = vecnorm(A,p)
N = vecnorm(A,p,dim)

# 说明

N = vecnorm(A) 返回 A 的 2-范数或欧几里德范数示例

  • 如果 A 是向量,则 vecnorm 返回该向量的范数;

  • 如果 A 是矩阵,则 vecnorm 返回每一列的范数;

  • 如果 A 是多维数组,则 vecnorm 返回大小不等于 1 的第一个数组维度上的范数。


N = vecnorm(A,p) 计算广义向量 p-范数示例


N = vecnorm(A,p,dim) 沿维度 dim 运算。此维度的大小将减少至 1,而所有其他维度的大小保持不变。 示例

# 示例

向量的 1-范数和 2-范数

计算与三维空间中的点 (2,2,2) 对应的向量的 2-范数。2-范数等于向量的欧几里德长度

x = [2 2 2];
n = vecnorm(x)
n = 

    3.4641

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

n = vecnorm(x,1)
n = 

    6
矩阵列的 2-范数

计算矩阵列的 2-范数。

A = [2 0 1;-1 1 0;-3 3 0]
A =

     2    0    1
    -1    1    0
    -3    3    0
n = vecnorm(A)
n = 

    3.7417    3.1623    1

也可以使用 norm 函数计算整个矩阵的 2-范数。

# 输入参数

A - 输入数组
向量 | 矩阵 | 多维数组

输入数组,指定为向量、矩阵或多维数组。按照惯例,如果正在运算的向量包含 NaN 值,vecnorm 将返回 NaN 值。

数据类型: single | double

复数支持:

p - 范数类型
2 (默认) | 正标量 | Inf

范数类型,指定为 2(默认值)、正标量或 Inf。

dim - 沿其运算的维度
正整数标量

沿其运算的维度,指定为正整数标量。如果不指定值,则默认值是大小不等于 1 的第一个数组维度。

维度 dim 表示长度减至 1 的维度。换言之,size(N,dim) 为 1,而所有其他维度的大小保持不变。

以一个二维输入数组 A 为例:

  • vecnorm(A,p,1) 计算每一列的范数;

  • vecnorm(A,p,2) 计算每一行的范数。

    当 size(A,dim) 为 1 时,vecnorm 返回 abs.(A)。

数据类型: Integer

# 详细信息

欧几里德范数

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

常规向量范数

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

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

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

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

  • 如果 p = Inf,则

# 另请参阅

norm