blob: 17b53b06bad7d9e3e14e9ce8d05282e9301547b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
s=%s
sys=syslin('c',k/(s*(s+4)*(s+2)))
evans(sys)
//values of k
[Ki,s]=kpure(sys)
disp("k should be less than")
disp(Ki)
//frequency of oscillations
s=%s
P=s^3+6*s^2+8*s+Ki
routh=routh_t(P)
disp(routh)
disp("frequency of oscillations is")
disp(sqrt((roots(routh(2,:)))))
//damping ratio is 0.5 given
// cos inverse of 0.5 is 60 degrees. from the root locus, the 60 degree line crosses the locus at (-0.75+j*1.25)
f=(-0.75+%i*1.25)
disp("k for damping ratio 0.5 is")
disp(abs(f*(f+4)*(f+2)))
|