Matlab求范数

  对 p = 2,这称为弗罗贝尼乌斯范数(Frobenius norm)或希尔伯特-施密特范数( Hilbert–Schmidt norm),不过后面这个术语通常只用于希尔伯特空间。这个范数可用不同的方式定义:

\|A\|_F=\sqrt{\sum_{i=1}^m\sum_{j=1}^n |a_{ij}|^2}=\sqrt{\operatorname{trace}(A^{{}^*} A)}=\sqrt{\sum_{i=1}^{\min\{m,\,n\}} \sigma_{i}^2}

  这里 A* 表示 A 的共轭转置,σi 是 A 的奇异值,并使用了迹函数。弗罗贝尼乌斯范数与 Kn 上欧几里得范数非常类似,来自所有矩阵的空间上一个内积。

弗罗贝尼乌斯范范数是服从乘法的且在数值线性代数中非常有用。这个范数通常比诱导范数容易计算。

  %X为向量,求欧几里德范数,即 。

  n = norm(X,inf) %求 无穷-范数,即 。

  n = norm(X,1) %求1-范数,即 。

  n = norm(X,-inf) %求向量X的元素的绝对值的最小值,即 。

  n = norm(X, p) %求p-范数,即 ,所以norm(X,2) = norm(X)。

  命令 矩阵的范数函数 norm格式 n = norm(A) %A为矩阵,求欧几里德范数 ,等于A的最大奇异值。

  n = norm(A,1) %求A的列范数 ,等于A的列向量的1-范数的最大值。

  n = norm(A,2) %求A的欧几里德范数 ,和norm(A)相同。

  n = norm(A,inf) %求行范数 ,等于A的行向量的1-范数的最大值即:max(sum(abs(A')))。

  n = norm(A, 'fro' ) %求矩阵A的Frobenius范数 ,矩阵元p阶范数估计需要自己编程求,

posted @ 2015-10-20 21:06  加拿大小哥哥  阅读(4305)  评论(2编辑  收藏  举报