vecnorm
向量范数
说明
示例
向量的 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 = 3×3
2 0 1
-1 1 0
-3 3 0
n = vecnorm(A)
n = 1×3
3.7417 3.1623 1.0000
也可以使用 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)
计算每一行的范数。当
dim
大于ndims(A)
或者size(A,dim)
为1
时,vecnorm
返回abs(A)
。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
详细信息
欧几里德范数
具有 N
个元素的向量 v
的欧几里德范数(也称为向量模、欧几里德长度或 2-范数)的定义如下:
常规向量范数
具有 N
个元素的向量 v
的 p-范数的常规定义是
其中 p
是任何正实数值或 Inf
。一些值得关注的 p
值包括:
如果
p = 1
,则所得的 1-范数是向量元素的绝对值之和。如果
p = 2
,则所得的 2-范数是向量的模或欧几里德长度。如果
p = Inf
,则 。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果提供
dim
,则它必须为常量。有关可变大小输入的限制,请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2017b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)