How to define dominant poles of high order system?

40 views (last 30 days)
Hi
I create a 5th order random system using rss() command. Then i get poles using pole() command. I took two conjugate imaginery poles as dominant poles. I produce a characteristic equation with that poles. wn and zeta calculated with that equation. I put zeta value into the overshoot formulation. But it's not true value.
When I apply step input the system, overshoot becomes %142 but with this method I took % 74.
What can be faulse?
clear all;
clc;
%system=tf(rss(5));
% 0.3521 s^4 + 2.036 s^3 + 21.5 s^2 + 16.34 s + 1.281
% ---------------------------------------------------------
% s^5 + 2.696 s^4 + 11.37 s^3 + 20.04 s^2 + 11.41 s + 1.695
s=tf('s');
system = (0.3521*s^4 + 2.036*s^3 + 21.5*s^2 + 16.34*s + 1.281) / (s^5 + 2.696*s^4 + 11.37*s^3 + 20.04*s^2 + 11.41*s + 1.695)
p=pole(system);
% p =
% -0.27477 + 2.9746i
% -0.27477 - 2.9746i
% -1.2615 + 0i
% -0.65514 + 0i
% -0.22984 + 0i
s1= -0.27477 + 2.9746i
s2= -0.27477 - 2.9746i
%so we get the dominant poles
%most closed poles to origin
char_eq=(s-s1)*(s-s2);
% s^2 + 0.5495 s + 8.924
w_n=(8.924)^(1/2);
zeta = 0.5495 / (2*w_n);
overshoot = 100*exp((-zeta*pi)/((1-zeta^2)^(1/2)))

Answers (0)

Community Treasure Hunt

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

Start Hunting!