, Contents
Preamble page v
Appendix A Chapter 1 1
Appendix B Chapter 2 4
Appendix C Chapter 3 28
Appendix D Chapter 4 59
Appendix E Chapter 5 77
Appendix F Chapter 6 103
Appendix G Chapter 7 145
Appendix H Chapter 8 169
,Appendix A Chapter 1
P1.1. Answers can vary widely depending on how students interpret the block-diagrams. Some possible simple
answers for the first four blocks are:
a) inputs: motor voltage; outputs: motor speed; disturbances: none; open-loop; could be static (e.g. in steady-
state) or dynamic (instantaneous); speed = K × voltage.
b) inputs: motor voltage; outputs: motor acceleration; open-loop; dynamic; acceleration = K × voltage.
c) inputs: hot, cold and position; This block-diagram shows an open-loop system with hot, cold and two
position inputs as well as a water output. There are no disturbances. The two faucets could be modeled as
static components.
d) This block-diagram shows a closed-loop system with reference temperature input and water (temperature)
output. There are no disturbances. The thermostat compares the reference temperature with the actual
water temperature and controls the heater. A simple model for the thermostat could be
eh (t) = tr (t) − tw (t)
where tr is the reference temperature, tw the measured water temperature and eh the temperature difference
to be bridged by the heater. The heater could be modeled by a dynamic model that takes into account the
time neeeded to heat the water.
P1.2–1.8. Solutions to problems P1.2 through P1.8 can vary widely and we prefer not to provide a set of
answers. Answers will be highly influenced by the background of a particular student and should be analyzed
within that context.
P1.9.
a) y = G2 G2 u
b) y = (G1 + G2 )u
GK
c) y = GK(u − Fy) =⇒ (1 + GKF) y = GKu =⇒ y = u
1 + GKF
d) Let x be the signal between G1 and G2 . Then
G1
y = G2 x = G2 (u − K2 y)
1 + G1 K1
or
G2 G1
(1 + G1 K1 + G2 G1 K2 )y = G2 G1 u =⇒ y = u
1 + G1 K1 + G2 G1 K2
e) y = u + GK(u − y) =⇒ (1 + GK)y = (1 + GK)u or y = u. What is going on here?
P1.10. Possible MATLAB code for plotting and analyzing the data:
% Landing distances (d)
D_134 = [13+15/16, 19+13/16, 27+11/16, 33+3/8 ;
13+7/8 , 19+13/16, 27+3/4 , 33+5/16;
14+1/16 , 19+13/16, 27+3/4 , 33+3/16;
14 , 19+3/4 , 27+9/16 , 33+7/16;
13+15/16, 19+3/4 , 27+9/16 , 33+5/8 ];
, 2 Chapter 1
D_67 = [10+11/16 , 14+1/2 , 20+3/4 , 25+7/16, 29+5/8 ;
10+11/16 , 14+9/16 , 20+3/4 , 25+1/2 , 29+1/2 ;
10+11/16 , 14+1/2 , 20+3/4 , 25+3/4 , 29+1/2 ;
10+11/16 , 14+1/2 , 20+3/4 , 25+1/2 , 29+5/16;
10+11/16 , 14+9/16 , 20+3/16 , 25+5/8 , 29+1/2 ];
% Reshape arrays
d_134 = reshape(D_134,size(D_134,1)*size(D_134,2),1);
d_67 = reshape(D_67,size(D_67,1)*size(D_67,2),1);
% Inclined plane distance (l)
e = ones(5,1);
l_134 = [1*e; 2*e; 4*e; 6*e];
l_67 = [1*e; 2*e; 4*e; 6*e; 8*e];
% Convert to heigth in inches
h_134 = 12*l_134*sin(13.4/180*pi);
h_67 = 12*l_67*sin(6.7/180*pi);
% Stack data
d_data = [d_134 ; d_67];
h_data = [h_134 ; h_67];
% Fit linear curve
f1 = fit(d_data, h_data, fittype(’a*x’));
% Fit quadratic curve
f2 = fit(d_data, h_data, fittype(’a*x^2’));
dvec = linspace(0, 40, 100);
h1vec = f1.a * dvec;
h2vec = f2.a * dvec.^2;
% Plot data and fit
plot(dvec, h1vec, ’-r’, dvec, h2vec, ’-b’, d_data, h_data, ’kx’)
ylabel(’h in inches’)
xlabel(’d in inches’)
grid on
The resulting plot looks like:
30
h in inches
20
10
0
0 5 10 15 20 25 30 35 40
d in inches
A quadratic fit seems to approximates the experimental data well within the given range and confirms the
behavior one would expect from physics.
While the projectile accelerates down the ramp, potential energy is converted to kinetic energy as in
1 2
mgh = mv .
2