Matlab获取向量范数和矩阵范数(norm函数)

Matlab通过 norm函数 获取向量范数和矩阵范数。

1. 语法

语法 说明 参数
n = norm(v) 返回向量 v 的欧几里德范数。此范数也称为 2-范数、向量模或欧几里德长度。 v -> 输入向量。
数据类型: single | double
复数支持: 是
n = norm(v,p) 返回广义向量 p-范数。 p -> 范数类型
2 (默认) | 正整数标量 | Inf | -Inf
n = norm(X) 返回矩阵 X 的 2-范数或最大奇异值,该值近似于 max(svd(X))。 X -> 输入矩阵。
数据类型: single | double
复数支持: 是
n = norm(X,p) 返回矩阵 X 的 p-范数,其中 p 为 1、2 或 Inf:
如果 p = 1,则 n 是矩阵的最大绝对列之和。
如果 p = 2,则 n 近似于 max(svd(X))。这相当于 norm(X)。
如果 p = Inf,则 n 是矩阵的最大绝对行之和。
n = norm(X,‘fro’) 返回矩阵 X 的 Frobenius 范数。 n -> 矩阵或向量范数,返回为标量。范数为元素模的测度。按照惯例,如果输入包含 NaN 值,norm 将返回 NaN。

2. 示例

2.1 计算向量模
v = [1 -2 3];
n = norm(v)

输出:n = 3.7417

2.2 计算向量的 1-范数
X = [-2 3 -1];
n = norm(X,1)

输出:n = 6

2.3 计算两个点之间的距离
a = [0 3];
b = [-2 1];
d = norm(b-a)

输出:d = 2.8284

2.4 计算矩阵的 2-范数
X = [2 0 1;-1 1 0;-3 3 0];
n = norm(X)

输出:n = 4.7234

2.5 计算稀疏矩阵的 Frobenius 范数
S = sparse(1:25,1:25,1);
n = norm(S,'fro')

输出:n = 5

发布了35 篇原创文章 · 获赞 37 · 访问量 4246

猜你喜欢

转载自blog.csdn.net/L_J_Kin/article/details/103949073