如何获取矩阵二范数 opencv

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取矩阵二范数 opencv相关的知识,希望对你有一定的参考价值。

参考技术A 1-范数:是指向量(矩阵)里面非零元素的个数.类似于求棋盘上两个点间的沿方格边缘的距离.
||x||1 = sum(abs(xi));
2-范数(或Euclid范数):是指空间上两个向量矩阵的直线距离.类似于求棋盘上两点见的直线距离 (无需只沿方格边缘).
||x||2 = sqrt(sum(xi.^2));
∞-范数(或最大值范数):顾名思义,求出向量矩阵中其中模最大的向量.本回答被提问者采纳

线性方程求解之 二范数类型

求解线性系统
在线性代数中我们经常需要求解具有m个方程 ,n 个 未知量的问题。这个问题可以以简洁的形式 表示为
Ax=b
其中 A 是一个m×n x 是一个长度为n的向量(如不特别强调,都是列向量) ,b是一个长度为m 的向量。如果 m=n ,并且 满秩(各行向量或列向量线性无关) ,则这个线性方程的解为 x=A1b
那如果 m>n ?这意味着什么?
事实上,实际问题中常常碰到的是 m>n 的情况 ,这时我们方程的数量大于未知数的数量,这样我们面对的是一个over-determined 系统的求解问题。每个方程典型上包含噪声,或者是不正确的观察。在这样的情形下,我们尝试求解的是下面的最优化问题。
minxAxb2=minx[xTATAx2xTATb+bTb]
(这个优化问题看起来有二次项,是非线性问题,但幸运的是,这个方程对其求偏导后可以得到线性方程)
使用矩阵微分的规则,我们对这个方程 求偏导,得到下面的结果
ATAxATb=0
AT(Axb)=0
ATAX=ATb(3.11)

因为 ATA n×n 方阵,并且是满秩的,因此这个方程的解为
x=(ATA)1ATb
那么这个解跟 (Axb)=0 的解有什么关系吗?
我的理解, x=(ATA)1ATb 是这个方程 (Axb)=0 的近似解。事实上, (Axb)=0 中如果 A 不是方阵,则这个方程本身是不能求解的,因为A1 不存在,你不能求解出 x=A1b .但通过引入 (ATA)1 ,你可以求出解 x=(ATA)1ATb 。这个解与 x=A1b 一般是不同的(除非 A 存在逆。 所以x=(ATA)1ATb 应该是 (Axb)=0 的近似解。

以上是关于如何获取矩阵二范数 opencv的主要内容,如果未能解决你的问题,请参考以下文章

矩阵2范数与向量2范数的关系

latex向量的二范数怎么表示

matlab中的norm是啥函数

数值分析 向量的范数 证明 x-y

NLP教程:啥是范数(norm)?以及L1,L2范数的简单介绍

cvx工具包对二范数优化问题,非常感谢!