matlab 2011b与2012b的SVD值不同



我尝试在两个版本的matlab上实现相同的矩阵F到svd函数。然而,我发现两个解的U和V矩阵的符号是相反的。我可以知道哪个版本的MATLAB提供更好或更准确的答案吗?还是两个答案都是正确的?

矩阵的奇异值分解只定义到一个符号,因此UV的符号是任意的,两个答案都是正确的。无论MATLAB产生何种符号,都应该是F = U*S*V,因此UV构成F的正确奇异值分解。(注意"a",而不是"the")。

您不应该依赖MATLAB生成特定的符号,并且它可能因版本而异。

最新更新