范数
之前大二在看机器学习的时候一直看到"范数"这个名词, 但是一直没有去详细了解过, 就只知道2-范数相当于两个点在二维平面的距离。这次在看粒子滤波matlab实现代码的时候看到了
norm
函数, 正好补一下关于范数的概念。
向量的范数
定义
注: 简言之: ①向量的范数是定义在线性空间上的非负实数.②实内积空间和酉空间中向量的长度都是向量的范数③酉空间向量范数用向量长度|x|来定义时,记作
通式——P-范数
注: 当P->∞时
矩阵的范数
▲以上概念来自于B站视频: 向量范数矩阵范数
Matlab中的norm
demo代码中有关norm的运用如下,
1 | %% 初始化粒子群 |
其中没有特别指出是啥范数, 因此可以通过help norm
来查看一下关于norm的使用介绍.
1 | >> help norm |
可以得到, norm(X)的效果默认是取2-范数的。
同时, norm函数既可以取向量范数又可以取矩阵范数:
1、如果A为矩阵
-
n=norm(A) 《Simulink与信号处理》
返回A的最大奇异值,即max(svd(A))
-
n=norm(A,p)
根据p的不同,返回不同的值
p | 返回值 |
---|---|
1 | 返回A中最大一列和,即max(sum(abs(A))) |
2 | 返回A的最大奇异值,和n=norm(A)用法一样 |
inf | 返回A中最大一行和,即max(sum(abs(A’))) |
‘fro’ | A和A‘的积的对角线和的平方根,即sqrt(sum(diag(A’*A))) |
2、如果A为向量
-
norm(A,p)
返回向量A的p范数。即返回 sum(abs(A).p)(1/p),对任意 1<p<+∞.
-
norm(A)
返回向量A的2范数,即等价于norm(A,2)。
-
norm(A,inf)
返回max(abs(A))
-
norm(A,-inf)
返回min(abs(A))
Matlab中的sum
sum(A, 1)
: 对一维求和, 如果A为二维数组, 则按列求和sum(A, 2)
: 对二维求和, 如果A为二维数组, 则按行求和
Matlab中的wgn
white Gaussian noise
1 | >> help wgn |
Author: Mrli
Link: https://nymrli.top/2020/10/27/范数的概念-MATLAB使用/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.