结果差异背后的原因是什么?

时间:2012-07-04 14:00:53

标签: matlab math

x = [1 2 3;4 5 6]为什么norm(x,2)norm(x(:),2)

不同

norm(x,2) = 9.5080norm(x(:),2)=9.5394

我在Matlab R2012a中运行了这个程序。

2 个答案:

答案 0 :(得分:5)

正如Matlab对norm的帮助中所定义的,返回值是矩阵的“最大奇异值”,向量是sum(abs(A).^2)^(1/2)

补充阅读: wikipedia - matrix norm

答案 1 :(得分:3)

x(:)是一个向量,如果您只是在命令行输入,请查看Matlab返回的内容。 x是一个矩阵。矩阵的2范数和矢量的2范数以不同的方式计算,通常,数组元素的矢量的2范数将不与数组的2范数相同。有关详细信息,请参阅good old Golub and Van Loan

为什么矩阵和数组的2范数不同?这是数学,因此在这里偏离主题,所以我不敢回答。