Stability of any system is an important issue. we have several methods to find out the stability of any system

Routh- Hurwitz Criterion state that

Using

%% routh hurwitz criteria

clear

clc

%% firstly it is required to get first two row of routh matrix

e=input('enter the coefficients of characteristic equation: ');

disp('-------------------------------------------------------------------------')

l=length(e);

m=mod(l,2);

if m==0

a=rand(1,(l/2));

b=rand(1,(l/2));

for i=1:(l/2)

a(i)=e((2*i)-1);

b(i)=e(2*i);

end

else

e1=[e 0];

a=rand(1,((l+1)/2));

b=[rand(1,((l-1)/2)),0];

for i=1:((l+1)/2)

a(i)=e1((2*i)-1);

b(i)=e1(2*i);

end

end

%% now we genrate the remaining rows of routh matrix

l1=length(a);

c=zeros(l,l1);

c(1,:)=a;

c(2,:)=b;

for m=3:l

for n=1:l1-1

c(m,n)=-(1/c(m-1,1))*det([c((m-2),1) c((m-2),(n+1));c((m-1),1) c((m-1),(n+1))]);

end

end

disp('the routh matrix:')

disp(c)

%% now we check the stablity of system

if c(:,1)>0

disp('System is Stable')

else

disp('System is Unstable');

end

**Routh-Hurwitz Criterion**is one of them, we can check the stability of system using Routh Matrix.Routh- Hurwitz Criterion state that

*"The system is stable if and only if all the elements in the first column have same algebaric sign. If all elements are not of the same sign then the number of sign change of the elements in first column equals the number of rots of characteristic equation in the right half of S-plane"*

Using

**MATLAB**can check the stability of any system on the bases of**Routh-Hurwitz Criterion**with the help of following program:%% routh hurwitz criteria

clear

clc

%% firstly it is required to get first two row of routh matrix

e=input('enter the coefficients of characteristic equation: ');

disp('-------------------------------------------------------------------------')

l=length(e);

m=mod(l,2);

if m==0

a=rand(1,(l/2));

b=rand(1,(l/2));

for i=1:(l/2)

a(i)=e((2*i)-1);

b(i)=e(2*i);

end

else

e1=[e 0];

a=rand(1,((l+1)/2));

b=[rand(1,((l-1)/2)),0];

for i=1:((l+1)/2)

a(i)=e1((2*i)-1);

b(i)=e1(2*i);

end

end

%% now we genrate the remaining rows of routh matrix

l1=length(a);

c=zeros(l,l1);

c(1,:)=a;

c(2,:)=b;

for m=3:l

for n=1:l1-1

c(m,n)=-(1/c(m-1,1))*det([c((m-2),1) c((m-2),(n+1));c((m-1),1) c((m-1),(n+1))]);

end

end

disp('the routh matrix:')

disp(c)

%% now we check the stablity of system

if c(:,1)>0

disp('System is Stable')

else

disp('System is Unstable');

end

**Note:**We can use above program only for normal case.
wat do i need to add if i want to know how many poles are there on left of the s-plane

ReplyDeleteand right of the s plane

for poles n zero we should have transfer function of system....

ReplyDeleteif we hv numerator & denominator of transfer function den we can use

[Z,P,K]=tf2zpk(NUM,DEN);

we can get zeros, poles & gain using it...

poly = [0.1852 2.348 7.304 0.1706]

ReplyDeletehow to check stability of this polynomial using routh hurwitz

[Z,P,K]=tf2zpk([0.921 207.4],[4.149e-5 0.002 3.457])

ReplyDeleteif there is the constant(like 'k')then what to do with that problem....???

ReplyDelete