allmargin function giving different results between 2013b and 2012a

2 views (last 30 days)
I am running a script using linmod() and ss() to get the state space representation of a Simulink model. Then, I am using the allmargin() function on the system to determine the margins. However, I get different margins when I use Matlab2013b when compared to Matlab2012a. I've double checked that my script and Simulink models used between the versions are the same. Can someone please shed some insight on why this may be the case?
  3 Comments
Jin
Jin on 3 Mar 2014
I have compared the systems generated by both versions in one version of Matlab using bode() and allmargin(). The results are the same within the verision of Matlab they were generated with but different between 2012a and 2013b. However, the system has over 100 states and recently I've found that reducing the model order using balreal() and modred() have produced same margins between 2012a and 2013b. This still does not explain why allmargin produces different results between the versions though.
Craig
Craig on 13 Mar 2014
There are usually small differences between release to release with changes to BLAS and improvements in scaling algorithms to improve numerical accuracy. One thing would be to look at in your frequency reponse particularly at the 0db and -180deg. Is the response steep at these locations? If they are then the value would be more sensitive to small variations at these locations.

Sign in to comment.

Answers (0)

Categories

Find more on Dynamic System Models in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!