Matlab中常用的运算集锦

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/82878589

1、矩阵相关

我们假设输入的矩阵是:
a = [ 1 3 4 1 6 7 ] a=\left[ \begin{matrix} 1 & -3 & 4 \\ 1 & 6 & -7 \end{matrix} \right]

  • sum

sum函数在默认情况下是计算矩阵每一列元素之和;当sum函数的第二个参数设置为2,即sum(a,2)时,则计算的是矩阵每一行元素之和。

>> sum(a)
ans =
     2     3    -3
>> sum(a,2)
ans =
     2
     0
  • max

max函数在默认情况下是计算矩阵每一列元素的最大值;当max函数为max(a,[],2)时,则计算的是矩阵每一行元素的最大值。

>> max(a)
ans =
     1     6     4
     
>> max(a,0)
ans =

     1     0     4
     1     6     0
     
>> max(a,[],2)
ans =
     4
     6
  • norm

矩阵的1范数即:矩阵的每一列上的元素绝对值先求和,再取列和最大的。

>> norm(a,1)
ans =
    11

矩阵的2范数即:矩阵 A T A A^TA 的最大特征值开平方根。

>> norm(a,2)
ans =
   10.4921

矩阵的L0范数即:矩阵的非0元素的个数,通常用它来表示稀疏,L0范数越小0元素越多,也就越稀疏。

矩阵的L1范数即:矩阵中的每个元素绝对值之和,它是L0范数的最优凸近似,因此它也可以表示稀疏。

>> sum(sum(abs(a)))
ans =
    22

矩阵的L2范数即:矩阵的各个元素平方之和再开平方根。

>> norm(a,'fro')
ans =
   10.5830

猜你喜欢

转载自blog.csdn.net/sinat_35512245/article/details/82878589