那么x = [1 2 3;4 5 6]
为什么norm(x,2)
不一样norm(x(:),2)
norm(x,2) = 9.5080
和norm(x(:),2)=9.5394
。
我已经在 Matlab R2012a 中运行了这个程序。
sum(abs(A).^2)^(1/2)
正如 Matlab help for norm 中定义的那样,对于矩阵和向量,返回值是“最大奇异值” 。
补充阅读: 维基百科 - 矩阵范数
x(:)
是一个向量,如果您只是在命令行中键入它,请查看 Matlab 返回的内容。x
是一个矩阵。矩阵的 2-范数和向量的 2-范数的计算方式不同,通常数组元素的向量的 2-范数与数组的 2-范数不同。有关详细信息,请参阅好老 Golub 和 Van Loan。
为什么矩阵和数组的 2 范数不同?那是数学,因此在SO上是题外话,所以我不敢回答。