matlab s2=norm(A,2); s4=sum(sum(abs(A)^2))^(1⼀2) 为什么结果不同?

2025-01-26 15:22:21
推荐回答(1个)
回答1:

这个问题问的好。

 

  • 如果A为向量,其p-范数计算公式为sum(abs(A).^p)^(1/p),其中1<=p<=inf;

  • 对于矩阵A,范数的计算公式不同于向量:

    • 只支持p=1,2,inf或'fro'四种取值,也就是说,不能计算3-范数,比如norm(A,3)会报错;

    • 对于norm函数,矩阵的2-范数定义为所谓的“谱范数”。矩阵 A 的谱范数是 A 最大的奇异值或半正定矩阵 A*A 的最大特征值的平方根,相当于

      max(sqrt(eig(A'*A)))

      你可以比较一下,这个和norm(A,2)的结果相同。