103,99 €
Introduction to Modeling and Simulation An essential introduction to engineering system modeling and simulation from a well-trusted source in engineering and education This new introductory-level textbook provides thirteen self-contained chapters, each covering an important topic in engineering systems modeling and simulation. The importance of such a topic cannot be overstated; modeling and simulation will only increase in importance in the future as computational resources improve and become more powerful and accessible, and as systems become more complex. This resource is a wonderful mix of practical examples, theoretical concepts, and experimental sessions that ensure a well-rounded education on the topic. The topics covered in Introduction to Modeling and Simulation are timeless fundamentals that provide the necessary background for further and more advanced study of one or more of the topics. The text includes topics such as linear and nonlinear dynamical systems, continuous-time and discrete-time systems, stability theory, numerical methods for solution of ODEs, PDE models, feedback systems, optimization, regression and more. Each chapter provides an introduction to the topic to familiarize students with the core ideas before delving deeper. The numerous tools and examples help ensure students engage in active learning, acquiring a range of tools for analyzing systems and gaining experience in numerical computation and simulation systems, from an author prized for both his writing and his teaching over the course of his over-40-year career. Introduction to Modeling and Simulation readers will also find: * Numerous examples, tools, and programming tips to help clarify points made throughout the textbook, with end-of-chapter problems to further emphasize the material * As systems become more complex, a chapter devoted to complex networks including small-world and scale-free networks - a unique advancement for textbooks within modeling and simulation * A complementary website that hosts a complete set of lecture slides, a solution manual for end-of-chapter problems, MATLAB files, and case-study exercises Introduction to Modeling and Simulation is aimed at undergraduate and first-year graduate engineering students studying systems, in diverse avenues within the field: electrical, mechanical, mathematics, aerospace, bioengineering, physics, and civil and environmental engineering. It may also be of interest to those in mathematical modeling courses, as it provides in-depth material on MATLAB simulation and contains appendices with brief reviews of linear algebra, real analysis, and probability theory.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 466
Veröffentlichungsjahr: 2023
Cover
Title Page
Copyright
Dedication
Preface
Organization of the Text
A Note to the Instructor
Acknowledgements
About the Companion Website
1 Introduction
1.1 Introduction
1.2 Model Classification
1.3 Simulation Languages
1.4 Outline of the Text
Problems
Linear Algebra Background
Real Analysis Background
Probability Background
Matlab
2 Second‐Order Systems
2.1 Introduction
2.2 State‐Space Representation
2.3 Trajectories and Phase Portraits
2.4 The Direction Field
2.5 Equilibria
2.6 Linear Systems
2.7 Linearization of Nonlinear Systems
2.8 Periodic Trajectories and Limit Cycles
2.9 Coupled Second‐Order Systems
Problems
3 System Fundamentals
3.1 Introduction
3.2 Existence and Uniqueness of Solution
3.3 The Matrix Exponential
3.4 The Jordan Canonical Form
3.5 Linearization
3.6 The Hartman–Grobman Theorem
3.7 Singular Perturbations
Problems
4 Compartmental Models
4.1 Introduction
4.2 Exponential Growth and Decay
4.3 The Logistic Equation
4.4 Models of Epidemics
4.5 Predator–Prey System
Problems
5 Stability
5.1 Introduction
5.2 Lyapunov Stability
5.3 Basin of Attraction
5.4 The Invariance Principle
5.5 Linear Systems and Linearization
Problems
6 Discrete‐Time Systems
6.1 Introduction
6.2 Stability of Discrete‐Time Systems
6.3 Stability of Discrete‐Time Linear Systems
6.4 Moving‐Average Filter
6.5 Cobweb Diagrams
Problems
7 Numerical Methods
7.1 Introduction
7.2 Numerical Differentiation
7.3 Numerical Integration
7.4 Numerical Solution of ODEs
7.5 Stiff Systems
7.6 Event Detection
7.7 Simulink
7.8 Summary
Problems
8 Optimization
8.1 Introduction
8.2 Unconstrained Optimization
8.3 Case Study: Numerical Inverse Kinematics
8.4 Constrained Optimization
8.5 Convex Optimization
Problems
9 System Identification
9.1 Introduction
9.2 Least Squares
9.3 Regression
9.4 Recursive Least Squares
9.5 Logistic Regression
9.6 Neural Networks
Problems
10 Stochastic Systems
10.1 Markov Chains
10.2 Monte Carlo Methods
Problems
11 Feedback Systems
11.1 Introduction
11.2 Transfer Functions
11.3 Feedback Control
11.4 State‐Space Models
11.5 Optimal Control
11.6 Control of Nonlinear Systems
Problems
12 Partial Differential Equation Models
12.1 Introduction
12.2 The Wave Equation
12.3 The Heat Equation
12.4 Laplace's Equation
12.5 Numerical Solution of PDEs
Problems
13 Complex Networks
13.1 Introduction
13.2 Graph Theory: Basic Concepts
13.3 Matlab Graph Functions
13.4 Network Metrics
13.5 Random Graphs
13.6 Synchronization in Networks
Problems
Appendix A: Linear Algebra
A.1 Vectors
A.2 Matrices
A.3 Eigenvalues and Eigenvectors
Appendix B: Real Analysis
B.1 Set Theory
B.2 Vector Fields
B.3 Jacobian
B.4 Scalar Functions
B.5 Taylor's Theorem
B.6 Extreme‐Value Theorem
Appendix C: Probability
C.1 Discrete Probability
C.2 Conditional Probability
C.3 Random Variables
C.4 Continuous Probability
Appendix D: Proofs of Selected Results
D.1 Proof of Theorem 2.2
D.2 Proof of Theorem 5.1
D.3 Proof of Theorem 5.5
D.4 Proof of Theorem 13.3
D.5 Proof of Corollary 13.2
D.6 Proof of Proposition 13.2
D.7 Proof of Proposition 13.3
Appendix E: Matlab Command Reference
References
Index
End User License Agreement
Chapter 2
Table 2.1 Summary of isolated fixed points for nonzero eigenvalues. The cas...
Chapter 8
Table 8.1 Income versus occupancy rate. The income increases to a maximum a...
Chapter 10
Table 10.1 Pseudo‐random sequences of numbers between
and
, with differe...
Chapter 13
Table 13.1 Three different centrality measures for the graph
in Figure 13...
Table 13.2 Clustering coefficients for the graph in Figure 13.32.
Chapter 1
Figure 1.1 A general characterization of a system as an object or process th...
Figure 1.2 An electric circuit with input voltage
and output voltage
. Th...
Figure 1.3 A mass–spring–damper system with input force
and output positio...
Figure 1.4 A DC motor with input voltage
and output speed
. Both electric...
Figure 1.5 An economic system with multiple inputs and outputs. The choice o...
Figure 1.6 A manufacturing plant transforms input raw materials into output ...
Figure 1.7 A machine learning (ML) system takes input data and produces outp...
Figure 1.8 A feedback system is one where the output affects future inputs....
Figure 1.9 Warehouse robots for order retrieval are an example of factory au...
Figure 1.10 Oil and chemical refineries are large‐scale, complex systems tha...
Figure 1.11 The electric power grid consists of an interconnected network of...
Figure 1.12 A wind farm is a collection of wind turbines connected to the po...
Figure 1.13 Supply chains and logistics systems are responsible for moving m...
Figure 1.14 Systems of autonomous vehicles are already changing the trucking...
Figure 1.15 Surgical robots are examples of human/machine/computer interface...
Chapter 2
Figure 2.1 A mass–spring–damper system (left) and an
circuit (right). Both...
Figure 2.2 Mass–spring system that undergoes harmonic motion.
Figure 2.3 Oscillation of a leaky bucket. As the mass of the water in the bu...
Figure 2.4 A solution trajectory in
. The vector field
is tangent to the ...
Figure 2.5 A single trajectory for the harmonic oscillator. The two state va...
Figure 2.6 Multiple trajectories in time (left, center) and a portion of the...
Figure 2.7 A simple pendulum with length
rotating in a vertical plane unde...
Figure 2.8 The load transported by an overhead crane is modeled as a hanging...
Figure 2.9 Inverted pendulum model for bipedal locomotion. The stance leg be...
Figure 2.10 A rocket ascending vertically is modeled as an inverted pendulum...
Figure 2.11 The Segway Human Transporter. The controller for the Segway trie...
Figure 2.12 Solution trajectories and a portion of the phase portrait for th...
Figure 2.13 Direction field for the harmonic oscillator, which shows qualita...
Figure 2.14 Direction field and a portion of the phase portrait for the simp...
Figure 2.15 The simple pendulum has infinitely many isolated equilibrium poi...
Figure 2.16 Unique equilibrium states of the simple pendulum by identifying
Figure 2.17 Phase portraits in modal coordinates for a stable node (left); u...
Figure 2.18 Phase portraits of the stable node in modal coordinates (left) a...
Figure 2.19 Phase portraits of the saddle node in modal coordinates (left) a...
Figure 2.20 Jordan node phase portraits in modal coordinates (left) and in t...
Figure 2.21 Stable focus (sink) left; unstable focus (source) right
Figure 2.22 Phase portrait of the nonlinear system (2.18).
Figure 2.23 Phase portraits of the linear approximations of the nonlinear sy...
Figure 2.24 Phase portrait of the damped simple pendulum. Oscillatory soluti...
Figure 2.25 Direction field and phase portrait of the Van der Pol oscillator...
Figure 2.26 Illustrating a Hopf bifurcation in the Van der Pol system as the...
Figure 2.27 Phase portrait of the FitzHugh–Nagumo system with parameters
,
Figure 2.28 Direction field and a portion of the phase portrait of the Bruss...
Figure 2.29 Illustrating the Poincaré–Bendixson theorem. The annular region ...
Figure 2.30 Phase portrait for the system (2.28).
Figure 2.31 Two pendula coupled by a linear spring with stiffness
.
Figure 2.32 Response of the coupled pendula. With the given initial conditio...
Figure 2.33 Double Pendulum
Chapter 3
Figure 3.1 Trajectories for the system
exhibiting finite escape. The amoun...
Figure 3.2 Illustrating the Hartman–Grobman theorem.
Figure 3.3 Solution trajectory of the system (3.5) in
. The trajectory rapi...
Figure 3.4 Schematic of a permanent‐magnet DC motor connected to a load.
Figure 3.5 Full‐order and reduced‐order responses for
. The other state var...
Chapter 4
Figure 4.1 Example of a compartmental model. The arrows represent flows or t...
Figure 4.2 Example of a multi‐compartmental model.
Figure 4.3 One‐compartment model.
Figure 4.4 Two‐compartment drug distribution model.
Figure 4.5 Drug concentrations in the blood and tissue with a constant input...
Figure 4.6 Drug concentrations in the blood and tissue with initial concentr...
Figure 4.7 Solution of the logistic equation.
Figure 4.8 SI epidemic model consisting of two compartments, susceptible (
)...
Figure 4.9 Response of the SI model with
.
Figure 4.10 The SIS epidemic model. Infected individuals recover at a certai...
Figure 4.11 Response of the SIS model with
,
, and
. The basic reproducti...
Figure 4.12 The SIR epidemic model.
Figure 4.13 Response of the SIR model with
and
.
Figure 4.14 Flattening the curve with three different values for
, namely,
Figure 4.15 The SEIR compartmental model. In this model individuals transfer...
Figure 4.16 SIR model with vital dynamics. The birth and death rates are bot...
Figure 4.17 Phase portrait of the predator–prey system in the first quadrant...
Figure 4.18 A two‐predator, two‐prey model. Predator
feeds on both prey sp...
Figure 4.19 Response of the two‐predator, two‐prey system with
,
,
,
,
Chapter 5
Figure 5.1 The intuitive notion of stable and unstable equilibria. The equil...
Figure 5.2 Illustrating the
–
definition of stability. Solutions starting ...
Figure 5.3 The intuitive idea of Lyapunov stability. The condition
means t...
Figure 5.4 Phase portrait for the system (5.2)–(5.3), showing that the origi...
Figure 5.5 Level sets for Lyapunov function candidate in Equation (5.4).
Figure 5.6 Illustrating the basin of attraction and an estimate using the le...
Figure 5.7 Pendulum with friction example. The trajectories point toward the...
Figure 5.8 Phase portrait for the system. For any initial conditions, the va...
Chapter 6
Figure 6.1 Response of the system (6.6) for different values of the coeffici...
Figure 6.2 Response of the system (6.6) with
(right) and with
(left).
Figure 6.3
stairs(y)
(left),
bars(y)
(middle),
stem(y)
(right) for a sequenc...
Figure 6.4 Plot of
(top) and
(bottom) for the discrete‐time nonlinear sy...
Figure 6.5 Seven‐day moving‐average filter for a set of stock price data plo...
Figure 6.6 Moving‐average filter response to noisy input data.
Figure 6.7 Cobweb diagram for Equation (6.12) with
iterations. A decreasin...
Figure 6.8 Cobweb diagrams for different slopes of the supply and demand cur...
Figure 6.9 Equilibrium points of the discrete logistic equation at
and
....
Figure 6.10 Cobweb diagram for
. In this case the only equilibrium is at th...
Figure 6.11 Cobweb diagram for
. In this case, the solutions converge to th...
Figure 6.12 Stable equilibrium for
(left) and unstable equilibrium for
(...
Figure 6.13 Chaotic solution for
.
Chapter 7
Figure 7.1 Illustrating the forward, backward, and middle difference approxi...
Figure 7.2 Numerical computation of the derivative of
using the Matlab com...
Figure 7.3 Illustrating the left‐endpoint, right‐endpoint and midpoint integ...
Figure 7.4 Illustrating trapezoidal integration. The area under a representa...
Figure 7.5 Illustrating Simpson's rule. The function
is approximated by a ...
Figure 7.6 Euler's method for
with
,
, and step sizes
(
) and
(
). T...
Figure 7.7 Response of the simple pendulum model using Euler's method with a...
Figure 7.8 Euler's method (
) and the Euler predictor–corrector method (
) f...
Figure 7.9 Comparison of Euler's method (
) with a fourth‐order Runge–Kutta ...
Figure 7.10 Solution of the stiff system using
ode45
. The expanded view on t...
Figure 7.11 Solution of the stiff system using
ode23s
. As an implicit method...
Figure 7.12 Solution of the DAE system using
ode15s
.
ode15s
should be used w...
Figure 7.13 Response of the DAE model of the SI‐epidemic system.
Figure 7.14 Response of the falling object. The simulation terminates when
Figure 7.15 The bouncing ball starting at initial height
with coefficient ...
Figure 7.16 Simulink blocks from the Simulink library.
Figure 7.17 Realization of the second‐order system
using two integrator bl...
Figure 7.18 Step response of the system (7.21) starting with initial conditi...
Figure 7.19 Simulink integrator block.
Figure 7.20 A practical differentiator built from an integrator. With input
Figure 7.21 The practical differentiator with input
produces a signal that...
Figure 7.22 Simulink block diagram representation of the nonlinear system (7...
Figure 7.23 Simulink block diagram representation of the Van der Pol equatio...
Chapter 8
Figure 8.1
is a strict local minimizer;
is a strict local maximizer;
i...
Figure 8.2 The search directions in gradient descent are orthogonal to level...
Figure 8.3 If the condition number of
is
, the level sets are concentric ...
Figure 8.4 If the condition number of
is large, the convergence of the met...
Figure 8.5 Newton's method for finding a root of
.
Figure 8.6 A selective compliant articulated robot arm. SCARA robots are use...
Figure 8.7 Schematic representation of a two‐link robot.
and
are the joi...
Figure 8.8 Inverse kinematics solution using Newton's method. Desired end‐ef...
Figure 8.9 Inverse kinematics solution using gradient descent. Desired end‐e...
Figure 8.10 Level sets of the objective function
with
and the graph of t...
Figure 8.11 Feasible region for the linear programming problem.
Figure 8.12 Illustrating the notion of a convex function. The convexity cond...
Figure 8.13 The set
on the left is convex. The set
on the right is nonco...
Figure 8.14 Illustrating Proposition 8.4. The condition (8.19) means that th...
Chapter 9
Figure 9.1 The range
of
is an
‐dimensional subspace of
. If
is not i...
Figure 9.2 Estimate of the resistance
from
measurements. The horizontal ...
Figure 9.3 Linear regression example. The straight line is estimated from th...
Figure 9.4 Linear and quadratic polynomial fitting. The choice of which mode...
Figure 9.5 The logit function (left) and the inverse logit function (right)....
Figure 9.6 Best‐fit logistic curve for the given credit score data.
Figure 9.7 A brain neuron
Figure 9.8 An artificial neuron model
Figure 9.9 Examples of activation functions
Figure 9.10 A one‐layer neural network
Figure 9.11 The decision boundary separating the two data sets.
Figure 9.12 Results of training the perceptron on the data set
Chapter 10
Figure 10.1 Transition diagram for a Markov chain. The numbered circles repr...
Figure 10.2 Transition diagram for Example 10.1. Each month a fraction of cu...
Figure 10.3 Computing the transition probabilities for months
and
.
Figure 10.4 The Markov mouse.
Figure 10.5 Transition diagram for the Markov mouse. The probabilities are c...
Figure 10.6 Transition diagram for the Markov mouse assuming that the mouse ...
Figure 10.7 Two compartments containing a number of gas molecules.
Figure 10.8 Transition diagram for the Ehrenfest model.
Figure 10.9 Number of gas molecules in compartment
over time. The number f...
Figure 10.10 An example of an absorbing Markov chain. Once the state reaches...
Figure 10.11 An example of isomorphic Markov chains.
Figure 10.12 Transition diagram for Example 10.8.
Figure 10.13 Transition diagram for the tennis example. The data are fictiti...
Figure 10.14 Counting the fraction of points inside the quarter circle gives...
Figure 10.15 Monte Carlo simulation to predict stock prices. Fifty random si...
Figure 10.16 Monte Carlo simulation of the SIR model showing the estimated n...
Chapter 11
Figure 11.1 A closed‐loop feedback system where the output affects future in...
Figure 11.2 Open‐loop system (left) and closed‐loop system (right).
Figure 11.3 Examples of feedback systems: the outrigger canoe, flyball gover...
Figure 11.4 A transfer function representation of a linear system as a ratio...
Figure 11.5 Dominant second‐order pole location. Second‐order systems are an...
Figure 11.6 Underdamped, critically damped, and overdamped second‐order step...
Figure 11.7 A second‐order system step response showing overshoot, rise time...
Figure 11.8 Step response of the third‐order system with DC gain equal to
....
Figure 11.9 Block diagram showing the basic components of a control system....
Figure 11.10 First‐order system
with compensator
.
Figure 11.11 Satellite attitude control. The satellite is equipped with thru...
Figure 11.12 Simulink model of the satellite control. The sensor block integ...
Figure 11.13 Position, velocity, and control input torque for the satellite....
Figure 11.14 Simulink model of a PI speed control system.
Figure 11.15 Responses of the PI control gains,
,
,
. The disturbance inp...
Figure 11.16 Controller canonical form. The
variables are the outputs,
, ...
Figure 11.17 Observer canonical form
Figure 11.18 Inertias coupled by a torsional spring.
Figure 11.19 Step response of the closed‐loop system.
Figure 11.20 Simulink system for the observer
Figure 11.21 Estimation errors for the observer. The initial conditions were...
Figure 11.22 Simulink model of the observer/state feedback control system.
Figure 11.23 Output response of the observer/state feedback control system....
Figure 11.24 Pendulum response.
Figure 11.25 The reaction‐wheel pendulum.
Figure 11.26 Simulink model of adaptive control using the MIT rule.
Figure 11.27 Response of the adaptive control system. The trajectory
initi...
Chapter 12
Figure 12.1 Coupled mass–spring system.
Figure 12.2 Snapshots of the vibrating spring with initial shape
. The solu...
Figure 12.3 The square wave function is a piecewise‐continuous, odd function...
Figure 12.4 Fourier series approximation of the square wave function with
,...
Figure 12.5 Fourier series approximation of the delta function for
, respec...
Figure 12.6 Series solution of the wave equation. Note that the response is ...
Figure 12.7 Insulate rod with heat flowing in one dimension along the rod.
Figure 12.8 The temperature
is a thin bar with both ends held at zero temp...
Figure 12.9 Rectangular region with values of
specified on the boundary.
Figure 12.10 Slab of width
. The left‐hand side is held at temperature
an...
Figure 12.11 Grid of mesh points discretizing time in increments of
and sp...
Figure 12.12 Points used in the finite‐difference approximation.
Figure 12.13 Temperature distribution generated by the Matlab simulation usi...
Chapter 13
Figure 13.1 A Network of interconnected agents. Depending on the application...
Figure 13.2 An undirected graph
of order
and size
. We say that
is a
Figure 13.3 A nonsimple graph (left) containing loops and a multigraph (righ...
Figure 13.4 Example of a weighted, directed graph. The edge weights may repr...
Figure 13.5 A
‐regular graph. Each vertex in the graph has degree
.
Figure 13.6 The first five complete graphs
.
Figure 13.7 The two graphs above are not isomorphic despite the fact that th...
Figure 13.8 The graph on the right is connected. It is possible to reach eve...
Figure 13.9 Example of a subgraph. The graph on the right is a subgraph of t...
Figure 13.10 An example of a graph containing two connected components
Figure 13.11 The graph on the left is strongly connected. The graph on the r...
Figure 13.12 A graph with cut vertices and a bridge.
Figure 13.13 A tree contains no cycles (i.e., no closed paths). This also me...
Figure 13.14 Graph
and spanning tree
(bold edges).
Figure 13.15 Example of a bipartite graph. The sets partitioning the graph a...
Figure 13.16 A tree (left) redrawn as a bipartite graph (right).
Figure 13.17 The above two graphs are isomorphic and so both are planar. The...
Figure 13.18 Utility connections to three houses. The bipartite graph repres...
Figure 13.19 Example of a planar graph with
regions,
vertices, and
edg...
Figure 13.20 A
graph example with its associated Laplacian matrix.
Figure 13.21 With four edges, the oriented incidence matrix will have four c...
Figure 13.22 A simple undirected graph created by the Matlab
graph
function....
Figure 13.23 A weighted directed network created by Matlab
digraph
function....
Figure 13.24 A railway network. The degree distribution of this network is a...
Figure 13.25 An airline network showing several hub airports. Most other air...
Figure 13.26 Magnitude versus frequency of earthquakes plotted on a log‐log ...
Figure 13.27 Income of the top 100 (left) and the top 10 (right). Despite th...
Figure 13.28 The length of a path is the number of ‘hops’ between nodes. The...
Figure 13.29 A low‐degree node may be important if it is adjacent to high de...
Figure 13.30 A
graph with different values of degree centrality, betweenne...
Figure 13.31 The neighbors of
are
. The subgraph formed by these nodes ha...
Figure 13.32 Graph clustering example for Example 13.19.
Figure 13.33 A triangle and a triple
Figure 13.34 A graph with three distinct cliques.
Figure 13.35 ER random graphs showing the emergence of a giant component. Bo...
Figure 13.36 Fraction of nodes outside the giant component as a function of ...
Figure 13.37
network. With probability
, the graph is regular with each n...
Figure 13.38
networks with
(top)
(bottom). To access Matlab code to co...
Figure 13.39 Average shortest path length and clustering coefficient versus ...
Figure 13.40 Network grown with preferential attachment with
and
edges a...
Figure 13.41 Flocking of birds (left), swarming of insects (middle) and scho...
Figure 13.42 Four agents interconnected in a ring.
Figure 13.43 Response of the four‐agent network showing that the states sync...
Appendix B
Figure B.1 A connected set. Every pair of points
and
in
can be connect...
Figure B.2 A simply connected set is one with no holes. The set shown is not...
Figure B.3 Level sets of a function
in
.
Appendix C
Figure C.1 The binomial distribution with
an
.
Figure C.2 The Poisson distribution with mean
.
Figure C.3 A normal or Gaussian distribution and cumulative distribution fun...
Figure C.4 The exponential distribution and cumulative distribution function...
Figure C.5 A power‐law distribution for
.
Cover
Table of Contents
Title Page
Copyright
Dedication
Preface
About the Companion Website
Begin Reading
Appendix A: Linear Algebra
Appendix B: Real Analysis
Appendix C: Probability
Appendix D: Proofs of Selected Results
Appendix E: Matlab Command Reference
References
Index
End User License Agreement
iii
iv
v
xiii
xiv
xv
xvi
xvii
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
379
380
381
382
383
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
403
404
405
406
407
408
409
410
411
412
413
414
415
Mark W. SpongThe University of Texas at Dallas USA
This edition first published 2023© 2023 John Wiley & Sons Ltd
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by law. Advice on how to obtain permission to reuse material from this title is available at http://www.wiley.com/go/permissions.
The right of Mark W. Spong to be identified as the author of this work has been asserted in accordance with law.
Registered OfficesJohn Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, USAJohn Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, UK
For details of our global editorial offices, customer services, and more information about Wiley products visit us at www.wiley.com.
Wiley also publishes its books in a variety of electronic formats and by print‐on‐demand. Some content that appears in standard print versions of this book may not be available in other formats.
Limit of Liability/Disclaimer of WarrantyMATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This work's use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software. While the publisher and authors have used their best efforts in preparing this work, they make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives, written sales materials or promotional statements for this work. This work is sold with the understanding that the publisher is not engaged in rendering professional services. The advice and strategies contained herein may not be suitable for your situation.
You should consult with a specialist where appropriate. The fact that an organization, website, or product is referred to in this work as a citation and/or potential source of further information does not mean that the publisher and authors endorse the information or services the organization, website, or product may provide or recommendations it may make. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
Library of Congress Cataloging‐in‐Publication Data is Applied for:
Hardback ISBN: 9781119982883
Cover image: © billnoll/Getty ImagesCover design: Wiley
To Lila.
This book grew out of a one‐semester course, Engineering Modeling and Simulation, in the Systems Engineering and Management Master of Science degree program at the University of Texas at Dallas. In the spring 2020 semester I was asked to teach this course after the previous instructor left the university, and it has been an enjoyable experience both to teach topics familiar to me and to prepare topics that I had never taught before. My vision in developing this text is to introduce students to a broad range of topics in mathematical modeling that can prepare them for deeper studies of one or more of these topics in subsequent courses. The individual topics in the text were chosen with this in mind, partly based on the availability of more advanced courses in our own curriculum. At the same time, I wanted to include enough material so that the students acquire a basic understanding of each topic whether or not they continue their studies beyond the present text. The emphasis is on systems concepts rather than proofs. I include proofs if doing so adds some particular insight. Otherwise, proofs are either omitted, with pointers to the literature, or else included in the appendix.
The intended audience for this text includes advanced undergraduates and beginning graduate students in science, engineering, management, or mathematics. I assume that the students have a basic knowledge of calculus, linear algebra, probability theory, and differential equations, as well as some familiarity with Matlab, although instructors may wish to supplement this text with an introductory Matlab text.
Each chapter of the text is intended to give a more or less self‐contained overview of an important topic in systems modeling and simulation. After an introductory chapter, Chapter 2 deals with second‐order systems. Second‐order systems are an important class of systems because many physical laws, like Newton's second law, are stated in terms of second‐order differential equations.
Chapter 3 treats the time response of continuous‐time systems of any order. We state sufficient conditions that guarantee a unique solution for nonlinear differential equations. We also discuss linear approximations of nonlinear systems and introduce the matrix exponential, with which we can characterize the solutions of linear systems. We present the Hartman–Grobman theorem which, in effect, says that near a hyperbolic equilibrium point, the response of a nonlinear system and its linear approximation share the same qualitative behavior. We also discuss singularly perturbed systems, which are used to model systems with very large or very small parameters that can pose particular challenges for simulation methods.
Chapter 4 introduces compartmental modeling with applications to population dynamics, the spread of epidemics, and predator–prey models. The basis for these models is the so‐called logistic equation, which we treat in some detail.
Chapter 5 deals with stability theory for linear and nonlinear systems. We discuss stability in the sense of Lyapunov and LaSalle's invariance principle.
In Chapter 6 we discuss discrete‐time systems, including the discrete‐time logistic equation, which shows important differences between continuous‐ and discrete‐time equations, and we present cobweb diagrams as a way to visualize solutions of one‐dimensional discrete maps.
Chapter 7 deals with numerical methods. We discuss numerical differentiation, numerical integration, and the most common methods for numerical solution of ordinary differential equations using Matlab and Simulink.
Chapter 8 is an introduction to optimization theory. We discuss necessary and sufficient conditions for solutions of nonlinear programming problems. We discuss gradient search methods and Newton's method for optimization and root finding. For optimization subject to constraints we introduce Lagrange multipliers and we present the so‐called Karush–Kuhn–Tucker conditions for optimality. We also discuss the importance of convexity in optimization.
Chapter 9 treats system identification. We discuss linear and nonlinear regression, and the method of recursive least squares. We also present a brief introduction to logistic regression and neural networks.
Chapter 10 treats stochastic systems. In particular, we focus on Markov chain models and Monte Carlo methods for simulation and optimization.
Chapter 11 is an introduction to feedback, which is a fundamental property in natural and human‐made systems. We give examples of feedback systems and present an introduction to feedback control.
Chapter 12 treats partial differential equation (PDE) models of systems. We discuss the three most important examples of linear PDE models, namely, the wave equation, heat equation, and Laplace's equation.
Finally Chapter 13 treats complex networks. Many of the most important systems in the modern world, such as the internet, World Wide Web, airline networks, social networks, and others, are modeled as complex networks. We give an introduction to the most relevant concepts in graph theory and network theory applied to both deterministic and random networks.
My original goal was to produce a text that could be covered in one semester. The book has grown to where it is unlikely that any single course can cover all the topics herein in a single semester. There is, however, a somewhat natural division of the text into chapters dealing primarily with dynamical systems and chapters dealing primarily with computational methods. Below I have outlined suggested courses for both 10 ‐week quarters and 16 ‐week semesters. Instructors may also pick and choose topics of interest in order to customize a specific course or a course sequence.
Course 1: Introduction to Modeling and Simulation
Level: Senior undergraduate/graduate
For a one‐quarter course (10 weeks):
Chapter 1
: Introduction
Chapter 2
: Second‐Order Systems
Chapter 3
: System Fundamentals
Chapter 4
: Compartmental Models
Chapter 5
: Stability
For a one‐semester course (16 weeks) add:
Chapter 11
: Feedback Systems
Chapter 12
: PDE Models
Chapter 13
: Complex Networks
Course 2: Computational Methods in Modeling and Simulation
Level: Senior undergraduate/graduate
For a one‐quarter course (10 weeks):
Chapter 1
: Introduction
Chapter 2
: Second‐Order Systems
Chapter 4
: Compartmental Models
Chapter 6
: Discrete‐Time Systems
Chapter 7
: Numerical Methods
For a one‐semester course (16 weeks) add:
Chapter 8
: Optimization
Chapter 9
: System Identification
Chapter 10
: Stochastic Systems
In addition, the instructor will want to supplement the text with either an introductory Matlab text or tutorials available online.
I am indebted to Jim Primbs, who developed the first version of the modeling and simulation course at UT‐Dallas. Later, Bobby Gregg took over responsibility for the course and added additional material. Their course outlines and lecture notes were the starting point for my subsequent development of the course. Any errors or omissions in the present text are entirely due to me. I also want to thank Reza Moheimani and Steve Yurkovich for constructive comments and support. Thanks also to Aykut Satici and Alireza Mohammadi for an interesting discussion on variable‐mass systems. The students in my class also helped by asking insightful questions and finding errors in early drafts of the text. Several comments from anonymous reviewers also helped considerably in making the text more readable and accessible to students. A special thanks to Richard Leigh for an exceptional editing job, which greatly improved the final manuscript. Finally, thanks to Sandra Grayson and Juliet Booker at John Wiley for their support and encouragement.
August 2022
Mark W. Spong
This book is accompanied by a companion website:
www.wiley.com/go/spong/engineeringmodeling
From the website you can find the following online materials:
• Solutions Manual
• Case‐study Exercises
• Lecture Slides
• MATLAB code
This text is concerned with modeling and simulation of systems, both natural and engineered. We treat both analytical and computational methods for a range of applications to electrical, mechanical, biological, financial, social, and other systems.
The notion of what constitutes a system is very broad and application dependent. Generally, by a system, one means a combination of interrelated components or parts that works in synergy to collectively perform a desired function. In business, for example, a system can mean a set of processes or procedures working together, such as a payroll system or inventory system. In physiology, the circulatory system is composed of the heart, blood, arteries, veins, and capillaries and delivers oxygen and nutrients to cells and removes waste products, such as carbon dioxide. In computer science, an operating system is the software that manages hardware and software resources and provides services to application programs. In biology, an ecosystem refers to a community of interacting species and their physical environment.
The distinction between component and system is application dependent. For example, in the semiconductor industry a microprocessor is a highly complex system, whereas in the automotive industry a microprocessor is a component in systems that control engine emissions, braking, cruise control, and other functions.
Systems engineering is an interdisciplinary field of engineering that focuses on how to design and manage systems over their life cycles [3, 15, 17]. A key problem in systems engineering is how to deal with the increasing complexity of modern systems. Modeling and simulation are important tools to help design and analyze modern complex systems. Good models allow meaningful simulation for testing, design validation, hardware‐in‐the‐loop testing and iterative methods. Simulations are less expensive than prototype testing and can be more rapidly developed and modified.
In this text we take the viewpoint that modeling is the more important part of modeling and simulation. Simulations based on poor models are of relatively little use. Thus, we focus on the modeling aspects of systems and use simulations to illustrate their performance and gain insight into their structure.
At an abstract level, we can view a system as an object or process that transforms inputs to outputs, which we write as ; see Figure 1.1. Within this input/output system paradigm various assumptions on the nature of the system must be made to derive concrete models that can be used for analysis, simulation, and prediction. How to do this is the principle subject of this text.
Figure 1.1 A general characterization of a system as an object or process that transforms inputs to outputs .
Examples of systems as objects that transform inputs to output are found in numerous fields of engineering and nature. Some representative examples include the following:
(1)
An electric circuit.
In the circuit shown in
Figure 1.2
we can take the voltage
as input and the voltage
as output. The system then transforms the input to the output according to Kirchhoff's laws.
Figure 1.2 An electric circuit with input voltage and output voltage . The output voltage is determined by Kirchhoff's Laws.
(2)
A mechanical system.
The system in
Figure 1.3
shows an interconnected mass, spring, and damper. If an input force
acts on the mass, then the output position
of the mass is governed by Newton's laws of motion.
Figure 1.3 A mass–spring–damper system with input force and output position . The motion of the mass as a function of time is governed by Newton's laws.
(3)
A DC motor.
In a DC motor, as shown in
Figure 1.4
, we can take the applied voltage
as input and the shaft angular velocity
as output. The system then transforms electrical energy into mechanical energy to perform useful work.
Figure 1.4 A DC motor with input voltage and output speed . Both electrical and mechanical models govern the input/output behavior of this system.
(4)
An economic system.
A system may have multiple inputs and/or multiple outputs. For example, in an economic system, variables such as money supply, interest rates, and regulations can be taken as inputs and variables such as inflation rate, growth rate, unemployment rate can be taken as outputs (
Figure 1.5
).
Figure 1.5 An economic system with multiple inputs and outputs. The choice of what variables to choose as inputs and what variables to choose as outputs is also an important part of the modeling process.
(5)
A manufacturing plant.
A factory (
Figure 1.6
) can be thought of as a system that transforms raw materials (the inputs) to finished products (the outputs). The manufacturing process is composed of many individual processes that occur as discrete events, such as metal forming, welding, painting, final assembly, and other processes.
Figure 1.6 A manufacturing plant transforms input raw materials into output finished products. The system can be modeled as the interconnection of many subsystems, such as metal forming, welding, painting, assembly, and so on.
(6)
Machine learning.
A machine learning system can be thought of as a computer program that takes data as input and produces estimates (classifications, decisions, suggestions) as outputs (
Figure 1.7
).
Figure 1.7 A machine learning (ML) system takes input data and produces output decisions. The generation of the input data and the algorithms used for the inference engine are key features of a learning system.
(7)
Feedback systems.
Feedback is a fundamental property in both natural and engineered systems. By a
feedback system
we mean “a system where the input is influenced by the output.”
Figure 1.8 A feedback system is one where the output affects future inputs.
We refer to the system in Figure 1.8 as a closed‐loop system and the system in Figure 1.1 as an open‐loop system. Feedback can be positive, which tends to have a destabilizing effect, as in a nuclear chain reaction, or negative, which tends to have a stabilizing effect, for example, when we sweat in hot weather to reduce our body temperature.
Feedback control is indispensable in modern engineering systems, such as automotive systems, aircraft, robotics, chemical and oil refineries, manufacturing, energy and power systems, and a host of other applications. In biological systems, feedback is present in regulating many processes, from body temperature to cell metabolism, gene expression, hormone production, as well as balance and locomotion. In weather and climate dynamics, feedback is an important mechanism affecting global temperatures, weather patterns, ocean currents, and so on.
A model is a mathematical representation and is both an abstraction and an approximation of physical reality. Developing models of systems takes several forms.
Models from first principles.
These are physics‐based models, typically differential or difference equations derived from Newton's laws, Maxwell's equations, Kirchhoff's laws, and so on.
Black box models.
These are models based on measured data to identify an input/output structure. Such data‐driven methods include neural networks, genetic algorithms, frequency‐response methods, machine learning, or optimization methods.
Gray box models.
These are a combination of the above two using a‐priori assumptions on the model together with measured data for parameter identification, systems identification, regression, or other methods.
System models may be classified in several ways, which can be useful to determine the best tools for their analysis. Some of the most useful classifications are listed below.
In a static system, there is an algebraic or functional relationship between input and output, as in a resistor where . Static models will be used, for example, when we discuss optimization, regression, and graph theory. In a dynamic system the output depends on the input together with the current state of the system, which typically evolves according to a differential or difference equation.
All systems possess nonlinearities. Despite this fact, linear systems are an important class of systems for two primary reasons. First, nonlinear systems are approximately linear near their equilibrium states. Second, linear systems are well understood and their behaviors are easily characterized. Nonlinear systems, on the other hand, are difficult to analyze and can often only be studied using numerical methods. At the same time, nonlinear systems have extremely rich behavior not possessed by linear systems.
The key to linearity is the principle of superposition, with which the output response to an arbitrary input can be understood in relation to outputs generated by simpler inputs. Specifically, we have the following definition.
A system is linear if and only if it satisfies the principle of superposition: If and , then the output corresponding to the input , where and are constant, is given by . In other words,
The principle of superposition says that if is the output corresponding to the input and is the output corresponding to the input , then a linear combination of the inputs and produces the same linear combination of the outputs and . Using superposition, one can gain an understanding of systems by analyzing their constituent components.
This approach is related to the principle of reductionism, which refers to a scientific approach in which a system is decomposed into subsystems, each of which is more amenable to analysis. The increasing complexity of modern engineering systems limits the usefulness of the reductionist approach. Complexity leads to emergent behavior, which means roughly that the whole is greater than the sum of the parts. Thus, we need to develop methods that are directly applicable to nonlinear, interconnected systems. We will discuss emergent behavior in complex networks in the final chapter of this text.
By a distributed‐parameter system, we mean one that is described by a partial differential equation. Examples of distributed‐parameter systems are vibrating strings and membranes, the temperature distribution along a bar, and quantum mechanical systems.
Hybrid systems are systems that combine both continuous‐time and discrete‐time components. A simple example of a hybrid system is a bouncing ball, whose motion is governed by continuous dynamics together with a discrete reset map when the ball contacts the ground.
Discrete‐event systems are logic‐based rather than time‐based. For example, in a manufacturing system an assembly operation may take place in discrete stages as parts are transferred between machines.
In a deterministic system the output is uniquely determined from the model and is repeatable. In a stochastic system, the output is determined according to a probability, and multiple repeated trials will generally produce different outputs.
By a large‐scale system one typically means a system with numerous components and with many variables and parameters needed to model them. These systems are also complex and difficult to model accurately. A few example of large‐scale engineered systems are given below in Figures 1.9 to 1.15.
Figure 1.9 Warehouse robots for order retrieval are an example of factory automation, where the robots act with little or no human supervision.
Figure 1.10 Oil and chemical refineries are large‐scale, complex systems that are made more efficient through modeling, simulation, and systems engineering principles for process control and optimization.
Figure 1.11 The electric power grid consists of an interconnected network of power generation stations, transmission lines, substations, and power distribution stations. China is currently the largest producer of electric energy followed by the United States.
Figure 1.12 A wind farm is a collection of wind turbines connected to the power grid. Each turbine is a complicated engineered system. However, in order to optimize energy production, it is not sufficient to study the individual turbines. Modeling the interactions among the turbines is also important.
Figure 1.13 Supply chains and logistics systems are responsible for moving manufactured goods on a global scale. These systems are interconnected networks of ships, airplanes, trucks, and railroads, as well as pipeline networks, loading docks, warehouses and a host of other systems that must function efficiently and economically.
Figure 1.14 Systems of autonomous vehicles are already changing the trucking industry, the shipping industry, and personal transportation. As in the wind‐farm example, one must model both the individual vehicles and the interconnections among multiple vehicles.
Figure 1.15 Surgical robots are examples of human/machine/computer interfaces and require new methods for modeling human dynamics in addition to robot dynamics.
There are several general purpose and special purpose simulation software programs and packages available, for example:
Matlab/Simulink
is a programming language and numerical computing environment. Matlab also allows symbolic computation and graphical representation of data.
SysML
is a graphical modeling language for analyzing complex systems. SysML is useful for modeling system requirements, system interconnections, and other features.
AnyLogic
is a simulation tool designed primarily for business applications like supply chains, logistics, markets and other applications.
FlexSim
is a simulation package designed for modeling and simulation of discrete‐event systems.
Mathematica
is a general‐purpose programming language for symbolic and numerical computation.
Modelica
is an object‐oriented modeling language, as opposed to a programming language, designed to model systems containing electrical, mechanical, hydraulic, thermal, and other components.
ANSYS
is a finite‐element modeling package for numerical analysis of mechanical systems.
SolidWorks
is a computer‐aided design and computer‐aided engineering package that runs primarily on Microsoft Windows.
Arena
is a discrete‐event simulation and automation package for business and production processes.
A discussion of specialized programs for topics such as project management is outside the scope of this text. Instead, we will use Matlab/Simulink as a general purpose programming language to illustrate simulation methods for system models.
Each chapter of the text is intended to give an overview of a specific topic in systems modeling and simulation. After studying the chapters in this text the reader should be prepared for more in‐depth treatment of each topic.
Chapter 2 begins with a treatment of second‐order systems. Second‐order systems form an important class of systems because many physical laws, like Newton's second law, are stated in terms of second‐order differential equations. We characterize the behavior of linear second‐order systems in terms of the eigenvalues and eigenvectors of the system coefficient matrices. We also discuss the existence of periodic solutions for nonlinear systems and present the Poincaré–Bendixson theorem, which gives conditions for the existence of periodic solutions of nonlinear systems.
Chapter 3 treats the time response of general continuous‐time systems. We state sufficient conditions that guarantee a unique solution for nonlinear differential equations. We also discuss linear approximations of nonlinear systems and we introduce the matrix exponential, with which we can characterize the solutions of th‐order linear systems. We also discuss the Hartman–Grobman theorem which, in effect, says that near a hyperbolic equilibrium point, the response of a nonlinear system and its linear approximation have the same qualitative behavior. We also discuss singularly perturbed systems, which are used to model systems with very large or very small parameters that can pose particular challenges for simulation methods.
In Chapter 4 we introduce compartmental modeling and discuss examples and applications, including models of population dynamics, the spread of epidemics, and predator–prey models. The basis for these models is the so‐called logistic equation, which we treat in some detail.
Chapter 5 deals with stability theory for linear and nonlinear systems. For systems operating in equilibrium configurations, it is important to know how the system will respond to perturbations and disturbances that move the system state away from equilibrium. We discuss two main results, namely stability in the sense of Lyapunov and LaSalle's invariance principle.
In Chapter 6 we discuss discrete‐time systems. We present results that mimic the results for continuous‐time systems, including the existence and uniqueness of solutions and stability. We discuss the discrete‐time logistic equation, which shows important differences between the continuous‐time and discrete‐time equations, and we present cobweb diagrams as a convenient way to visualize solutions of one‐dimensional discrete‐time maps.
In Chapter 7 we discuss numerical methods to simulate system models. We discuss numerical differentiation, numerical integration and the most common methods for numerical solution of ordinary differential equations using Matlab and Simulink.
Chapter 8 is an introduction to optimization theory. We will discuss general necessary and sufficient conditions for solutions of nonlinear programming problems. We discuss gradient search methods, including the method of steepest descent. We then treat Newton's method for optimization and root finding. For optimization subject to constraints we introduce Lagrange multipliers and we present the so‐called Karush–Kuhn–Tucker conditions for optimality. We also discuss the importance of convexity in optimization.
Chapter 9 treats system identification. We discuss linear and nonlinear regression, and the method of recursive least squares. We also present a brief introduction to logistic regression and perceptron neural networks for binary classification.
Chapter 10 treats stochastic systems. In particular, we focus on Markov chain models and Monte Carlo methods for simulation and optimization.
In Chapter 11