Solution 6.8.1.17
The MATLAB dialogue
EDU>g = zpk([-1],[0 -4 -20],10)
Zero/pole/gain:
10 (s+1)
--------------
s(s+4) (s+20)
EDU>rlocus(g)
EDU>print -deps rl68117.eps
EDU>
draws and saves the root locus is shown in Figure 1.
-20 -15 -10 -5 0 5
-8
-6
-4
-2
0
2
4
6
8
Real Axis
I
mag
A
x
i
s
Figure 1: Root locus
Then the MATLAB program
z=1
p1 =0
p2 = 4
1
23 23.02 23.04 23.06 23.08 23.1 23.12 23.14 23.16 23.18 23.2
-180.3
-180.2
-180.1
-180
-179.9
-179.8
-179.7
Figure 2: Angle versus !
n
p3 = 20
zeta = 0.5
omegan =linspace(23,23.2,400);;
s=-zeta*omegan + j* omegan *sqrt(1-zeta^2);;
ang = (angle(s + z)-angle(s + p1)-angle(s+p2)-angle(s+p3))*180/pi;;
plot(omegan,ang)
print -deps 68117a.eps
creates the plot shown in Figure 2. Wesee that the root locus crosses the
line of constant damping ratio at about s = ;11:5559+ j20:0154. Indeed,
at s = ;11:5559+ j20:0154 the net angle is 180:00
.
Then the gain to place closed loop poles at ss = ;11:5559+j20:0154 is
K =
jsjjs+4js +20j]
js +1j
s=;11:5559+j20:0154
=474:6876:
The natural frequency of the closed loop poles is
!
n
=
p
11:5559
2
+20:0154
2
=23:1118:
The MATLAB program
z=1
2
p1 =0
p2 = 4
p3 = 20
zeta = 0.5
omegan =linspace(23,23.2,400);;
s=-zeta*omegan + j* omegan *sqrt(1-zeta^2);;
ang = (angle(s + z)-angle(s + p1)-angle(s+p2)-angle(s+p3))*180/pi;;
plot(omegan,ang)
print -deps 68117a.eps
pause
s=-zeta*omegan(224) + j*omegan(224)*sqrt(1-zeta^2)
K=(abs(s + p1)*abs(s+p2)*abs(s+p3))/abs(s+z)
omegn=omegan(224)
sc = conj(s)
tn2 = zpk([],[s sc],omegan(224)^2)
g=zpk([-z],[-p1 -p2 -p3],K)
tc = feedback(g,1)
T=linspace(0,6,200);;
[Yn2,T] = step(tn2,T);;
[Ytc,T] = step(tc,T);;
plot(T,Yn2,'k-',T,Ytc,'k--')
print -deps sr68117.eps
Prints and plots the step responses of T
c
(t) and T
N2
(t) shown in Figure 3
3
0 1 2 3 4 5 6
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Figure 3: Comparison of step responses of T
c
and T
N2
for =0:4
4