Contents
P7.1 DC motor
clear variables
G=zpk([],[0 -10],1);
Ts=.01;
Gz=c2d(G,Ts);
disp('Gain margin:')
Kmax=margin(Gz)
disp('Impulse response:')
impulse(Gz,10*Ts)'
Gain margin:
Kmax =
2.0339e+03
Impulse response:
ans =
Columns 1 through 7
0 0.0048 0.0139 0.0221 0.0295 0.0362 0.0423
Columns 8 through 11
0.0478 0.0527 0.0572 0.0613
P7.2 Flexible beam
G=tf(100,[1 1 100]);
Ts=.01;
Gz=c2d(G,Ts);
disp('Gain margin:')
Kmax=margin(Gz)
disp('Impulse response:')
impulse(Gz,10*Ts)'
Gain margin:
Kmax =
2.0058
Impulse response:
ans =
Columns 1 through 7
0 0.4979 1.4822 2.4420 3.3679 4.2511 5.0833
Columns 8 through 11
5.8567 6.5641 7.1992 7.7565
P7.3 Transfer function
G=zpk([-3],[0 -1 -2],1);
Ts=.1;
Gz=c2d(G,Ts);
disp('Gain margin:')
Kmax=margin(Gz)
disp('Impulse response:')
impulse(Gz,10*Ts)'
Gain margin:
Kmax =
7.1207
Impulse response:
ans =
Columns 1 through 7
0 0.0499 0.1489 0.2455 0.3387 0.4278 0.5123
Columns 8 through 11
0.5920 0.6666 0.7363 0.8011
P7.4 Automobile model
G=tf([28 120],[1 7 14]);
Ts=.1;
Gz=c2d(G,Ts);
disp('Gain margin:')
Kmax=margin(Gz)
disp('Impulse response:')
impulse(Gz,10*Ts)'
Gain margin:
Warning: The closed-loop system is unstable.
Kmax =
0.7173
Impulse response:
ans =
Columns 1 through 7
0 24.4349 18.2327 13.3382 9.5802 6.7606 4.6876
Columns 8 through 11
3.1916 2.1311 1.3924 0.8870
P7.5 Automobile model
for k=0.5*Kmax
disp('K='), disp(k)
T=feedback(k*G,1);
disp('Pulse transfer function:')
Tz=feedback(k*Gz,1)
kp=k*dcgain(Gz);
disp('Steady-state error:')
estep=1/(1+kp)
disp('Step response:')
step(Tz, T)
legend('discrete','continuous')
end
K=
0.3587
Pulse transfer function:
Tz =
0.8764 z - 0.5704
------------------------
z^2 - 0.5207 z - 0.07385
Sample time: 0.1 seconds
Discrete-time transfer function.
Steady-state error:
estep =
0.2454
Step response:
P7.6 Human postural dynamics
G=tf([10],[1 0 -10]);
Ts=.1;
disp('Pulse transfer function:')
Gz=c2d(G,Ts)
disp('Impulse response:')
impulse(Gz,10*Ts)'
Pulse transfer function:
Gz =
0.05042 z + 0.05042
-------------------
z^2 - 2.101 z + 1
Sample time: 0.1 seconds
Discrete-time transfer function.
Impulse response:
ans =
Columns 1 through 7
0 0.5042 1.5634 2.7802 4.2774 6.2059 8.7602
Columns 8 through 11
12.1979 16.8655 23.2338 31.9449