让我们考虑以下simulink模型
我有以下矩阵
A=[2 1 3;1 4 5]
A =
2 1 3
1 4 5
及其奇异值分解
>> [U E V]=svd(A)
U =
-0.4719 -0.8817
-0.8817 0.4719
E =
7.2965 0 0
0 1.6617 0
V =
-0.2502 -0.7772 -0.5774
-0.5480 0.6053 -0.5774
-0.7982 -0.1720 0.5774
>>
在自定义matlab函数中从此链接中获取
http://www.mathworks.com/help/simulink/slref/matlabfunction.html
我创建了自己的功能
function [U,E,V]=singular_decomposition(A)
%#codegen
[U E V]=svd(A);
数值和矩阵的维数相同,但在某些时候有不同的符号,我该如何解决这个问题呢?
答案 0 :(得分:2)
没有错。矩阵的SVD分解通常不是唯一的。
如果您执行U*E*V'
,则在两种情况下都会获得相同的A值。