MATLAB: Is the higher order TF model is giving some unstable roots

Control System Toolbox

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.

Best Answer

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.
Related Question