我尝试在两个版本的matlab上实现相同的矩阵F到svd函数。然而,我发现两个解的U和V矩阵的符号是相反的。我可以知道哪个版本的MATLAB提供更好或更准确的答案吗?还是两个答案都是正确的?
矩阵的奇异值分解只定义到一个符号,因此U
和V
的符号是任意的,两个答案都是正确的。无论MATLAB产生何种符号,都应该是F = U*S*V
,因此U
和V
构成F
的正确奇异值分解。(注意"a",而不是"the")。
您不应该依赖MATLAB生成特定的符号,并且它可能因版本而异。