MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
向量范数和矩阵范数
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
全部展开
norm 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
norm 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
您可以为此函数生成 C/C++ 代码。
形式为 norm(X,"fro") 的范数计算支持 N 维数组作为输入。
norm(X,"fro")
vecnorm | pagenorm | normest | normalize | cond | hypot
pagenorm
normest
normalize
cond
hypot
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处