帮助中心帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
向量范数和矩阵范数
n = norm(v)
n = norm(v,p)
n = norm(X)
n = norm(X,p)
n = norm(X,"fro")
示例
n = norm(v) 返回向量 v 的欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。
n
v
n = norm(v,p) 返回广义向量 p 范数。
p
n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。
X
max(svd(X))
n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf:
1
2
Inf
如果 p = 1,则 n 是矩阵的最大绝对列之和。
p = 1
如果 p = 2,则 n 近似于 max(svd(X))。此值等效于 norm(X)。
p = 2
norm(X)
如果 p = Inf,则 n 是矩阵的最大绝对行之和。
p = Inf
n = norm(X,"fro") 返回矩阵或数组 X 的 Frobenius 范数。
全部折叠
创建一个向量并计算模。
v = [1 -2 3]; n = norm(v)
n = 3.7417
计算向量的 1-范数,该范数为元素模的总和。
v = [-2 3 -1]; n = norm(v,1)
n = 6
计算两个点之间的距离作为向量元素之差的范数。
创建两个向量,表示欧几里德平面上两个点的 (x,y) 坐标。
a = [0 3]; b = [-2 1];
使用 norm 来计算点之间的距离。
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
计算一个 4 维数组 X 的 Frobenius 范数,它等效于列向量 X(:) 的 2-范数。
X(:)
X = rand(3,4,4,3); n = norm(X,"fro")
n = 7.1247
Frobenius 范数对于稀疏矩阵也很有用,因为 norm(X,2) 不支持稀疏 X。
norm(X,2)
输入向量。
数据类型: single | double 复数支持: 是
single
double
输入数组,指定为矩阵或数组。对于大多数范数类型,X 必须为矩阵。但是,对于 Frobenius 范数计算,X 可以是数组。
-Inf
范数类型,指定为 2(默认值)、正实数标量、Inf 或 -Inf。p 的有效值及其返回的内容取决于 norm 的第一个输入为矩阵还是向量,如表中所示。
注意
此表并未反映计算所用的实际算法。
max(sum(abs(X)))
sum(abs(v))
sum(abs(v).^2)^(1/2)
sum(abs(v).^p)^(1/p)
max(sum(abs(X')))
max(abs(v))
min(abs(v))
范数值,以标量形式返回。范数为元素模的测度。按照惯例:
如果输入包含 NaN 值,norm 将返回 NaN。
NaN
空矩阵的范数为零。
具有 N 个元素的向量 v 的欧几里德范数(也称为向量模、欧几里德长度或 2-范数)的定义如下:
N
‖v‖=∑k=1N|vk|2 .
具有 N 个元素的向量 v 的 p-范数的常规定义是
‖v‖p=[∑k=1N|vk|p] 1/p ,
,其中 p 是任何正的实数值、Inf 或 -Inf。
如果 p = 1,则所得的 1-范数是向量元素的绝对值之和。
如果 p = 2,则所得的 2-范数是向量的模或欧几里德长度。
如果 p = Inf,则 ‖v‖∞=maxi(|v(i)|)。
如果 p = -Inf,则 ‖v‖−∞=mini(|v(i)|)。
p = -Inf
m×n 矩阵 X (m,n >= 2) 的最大绝对列之和由
m
m,n >= 2
‖X‖1=max1≤j≤n(∑i=1m|aij|).
定义
m×n 矩阵 X (m,n >= 2) 的最大绝对行之和由
‖X‖∞=max1≤i≤m(∑j=1n|aij|) .
m×n 矩阵 X (m,n >= 2) 的 Frobenius 范数由
‖X‖F=∑i=1m∑j=1n|aij|2=trace(X†X) .
此定义自然也适合扩展到二维以上的数组。例如,如果 X 是 N 维数组,大小为 m×n×p×...×q,则 Frobenius 范数为
q
‖X‖F=∑i=1m∑j=1n∑k=1p...∑w=1q|aijk...w|2.
使用 vecnorm 将矩阵或数组视为向量的集合并计算指定维度上的范数。例如,vecnorm 可以计算矩阵中每列的范数。
vecnorm
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
全部展开
形式为 norm(X,"fro") 的范数计算支持 N 维数组作为输入。
norm(X,"fro")
vecnorm | pagenorm | normest | normalize | cond | hypot
pagenorm
normest
normalize
cond
hypot
您点击的链接对应于以下 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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office