How can I get the same results between matlab svd and simulink svd?
2 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I've got a trouble with svd in simulink. Svd returns U S V, such that A= U S V'. The matrix U in the simulink svd, is different between U of the matlab svd (not only for the sign).
Why there is that difference?
How can i get the matrix U of the matlab svd from the U of simulink svd?
0 件のコメント
回答 (1 件)
Jan
2013 年 1 月 13 日
From a numerical point of view, the reply of an SVD has to reply U, S and V such, that U*S*V' = A within certain rounding limits. In consequence different algorithms or order of executions will lead to different results, which are all "correct".
Now look at the differences of the results:
U_matlab - U_simulink
S_matlab - S_simulink
V_matlab - V_simulink
A - (U_matlab * S_matlab * V_matlab')
A - (U_simulink* S_simulink* V_simulink')
What do you observe?
7 件のコメント
Jan
2013 年 1 月 14 日
編集済み: Jan
2013 年 1 月 14 日
So your actual question is, that the SVD of Simulink is flawed? Or does this mean, that the substace tracking cannot handle a [m x n] matrix properly, e.g. because a length command is used instead of a size(x, 1)?
I still have no clue what you are talking about. I really want to help, but I can't.
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!