让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中运行了这个程序。
答案 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范数不同?这是数学,因此在这里偏离主题,所以我不敢回答。