Why is my higher order TF model is giving some unstable roots?

6 Ansichten (letzte 30 Tage)
I have a transfer function that is the summation of a number of other second order transfer functions. MATLAB is not computing the poles and zeros of this transfer function correctly.
xx=xx7+xx2+xx5+xx6+xx3+xx8+xx10+xx9+xx1+xx4;
Where xx is a TF model.

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 20 Aug. 2019
I suspect this is due to computing higher order TF models. It is generally not a good idea to compute with high-order TF models, as explained in
Here xx is obtained by adding a bunch of second-order transfer functions to obtain a 20th order TF model with huge coefficients:
xx=xx7+xx2+xx5+xx6+xx3+xx8+xx10+xx9+xx1+xx4;
When we compute the roots of the denominator, some come up unstable. It's because the clustering of these roots, together with the loss of accuracy when aggregating roots into denominator coefficients, conspire to push some of the roots across the axis.
Instead, I suggest you to build a SS model using:
xx=ss(xx7)+xx2+xx5+xx6+xx3+xx8+xx10+xx9+xx1+xx4;
Now POLE(XX) gives all stable poles with low damping.

Weitere Antworten (0)

Tags

Noch keine Tags eingegeben.

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by