理解MATLAB中的L2规范

时间:2015-08-12 04:12:04

标签: matlab

我有两个矩阵,x和y,大小相同。它们是对同一数据字段的两个估计。我想量化它们在整个矩阵中的差异。 norm(x-y,2)通常如何做到这一点?这是什么单位 - 如果x和y是以mm / sec为单位的速度,并且我想将L2范数转换为某个参考速度的百分比,那是否有意义?

这应该属于数学吗?

3 个答案:

答案 0 :(得分:1)

Matlab中矩阵的范数2等于所有元素的平方和的平方根。所有规范函数都不会更改单位(因为你同时应用了正方形和根正方形)。

如果要将结果与参考速度进行比较,最好使用其他度量,例如RMS均方根)。它类似于norm,但是在应用根方形之前应该对平方和进行标准化。 (这项措施也不会改变单位)

此矩阵的RMS可以解释为: 每个位置(x和y)的平均速度变化多少(单位为mm / sec)

答案 1 :(得分:0)

我不确定你的意思"量化差异",所以这就是我所知道的......

  
    

norm(x)== norm(x,2)

  

等效,因为L2规范是默认的。来自matlab帮助

n = norm(X)返回矩阵X的2范数或最大奇异值。

因此,如果两个矩阵的差异的最大奇异值是你想要的,那么你就有了正确的功能。

答案 2 :(得分:0)

norm(X,2)或只是norm(X)会给出l2范数或X的欧几里德范数.X可以是矩阵或向量。无论是向量还是矩阵,都将通过首先对所有元素求平方,然后将它们相加并取平方根作为答案来计算单个值来计算范数。你想要做的事情在某种意义上会给你两个矩阵之间差异的大小。单位将与矩阵元素的单位相同。