在simulink中定义自定义模型

时间:2015-01-02 12:13:50

标签: matlab simulink

让我们考虑以下simulink模型

enter image description here

我有以下矩阵

 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);

数值和矩阵的维数相同,但在某些时候有不同的符号,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

没有错。矩阵的SVD分解通常不是唯一的。

如果您执行U*E*V',则在两种情况下都会获得相同的A值。