Muutke küpsiste eelistusi

E-raamat: Introduction to Modeling and Simulation with MATLAB® and Python [Taylor & Francis e-raamat]

(Ohio Supercomputer Center, Columbus, USA), (Ohio State University, Columbus, USA)
  • Taylor & Francis e-raamat
  • Hind: 133,87 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 191,24 €
  • Säästad 30%
Introduction to Modeling and Simulation with MATLAB and Python is intended for students and professionals in science, social science, and engineering that wish to learn the principles of computer modeling, as well as basic programming skills. The book content focuses on meeting a set of basic modeling and simulation competencies that were developed as part of several National Science Foundation grants. Even though computer science students are much more expert programmers, they are not often given the opportunity to see how those skills are being applied to solve complex science and engineering problems and may also not be aware of the libraries used by scientists to create those models.





The book interleaves chapters on modeling concepts and related exercises with programming concepts and exercises. The authors start with an introduction to modeling and its importance to current practices in the sciences and engineering. They introduce each of the programming environments and the syntax used to represent variables and compute mathematical equations and functions. As students gain more programming expertise, the authors return to modeling concepts, providing starting code for a variety of exercises where students add additional code to solve the problem and provide an analysis of the outcomes. In this way, the book builds both modeling and programming expertise with a "just-in-time" approach so that by the end of the book, students can take on relatively simple modeling example on their own.





Each chapter is supplemented with references to additional reading, tutorials, and exercises that guide students to additional help and allows them to practice both their programming and analytical modeling skills. In addition, each of the programming related chapters is divided into two parts one for MATLAB and one for Python. In these chapters, the authors also refer to additional online tutorials that students can use if they are having difficulty with any of the topics.





The book culminates with a set of final project exercise suggestions that incorporate both the modeling and programming skills provided in the rest of the volume. Those projects could be undertaken by individuals or small groups of students.





The companion website at http://www.intromodeling.com provides updates to instructions when there are substantial changes in software versions, as well as electronic copies of exercises and the related code. The website also offers a space where people can suggest additional projects they are willing to share as well as comments on the existing projects and exercises throughout the book. Solutions and lecture notes will also be available for qualifying instructors.
Preface xiii
Authors xvii
Chapter 1 Introduction To Computational Modeling 1(20)
1.1 The Importance Of Computational Science
1(2)
1.2 How Modeling Has Contributed To Advances In Science And Engineering
3(6)
1.2.1 Some Contemporary Examples
8(1)
1.3 The Modeling Process
9(8)
1.3.1 Steps In The Modeling Process
11(3)
1.3.2 Mathematical Modeling Terminology And Approaches To Simulation
14(1)
1.3.3 Modeling And Simulation Terminology
14(1)
1.3.4 Example Applications Of Modeling And Simulation
15(2)
Exercises
17(1)
References
18(3)
Chapter 2 Introduction To Programming Environments 21(24)
2.1 The Matlab® Programming Environment
21(9)
2.1.1 The Matlab® Interface
21(2)
2.1.2 Basic Syntax
23(5)
2.1.2.1 Variables And Operators
23(2)
2.1.2.2 Keywords
25(1)
2.1.2.3 Lists And Arrays
26(2)
2.1.3 Common Functions
28(1)
2.1.4 Program Execution
28(1)
2.1.5 Creating Repeatable Code
29(1)
2.1.6 Debugging
30(1)
2.2 The Python Environment
30(12)
2.2.1 Recommendations And Installation
30(1)
2.2.2 The Spyder Interface
31(1)
2.2.3 Basic Syntax
32(6)
2.2.3.1 Variables And Operators
32(2)
2.2.3.2 Keywords
34(1)
2.2.3.3 Lists And Arrays
35(3)
2.2.4 Loading Libraries
38(1)
2.2.5 Common Functions
39(1)
2.2.6 Program Execution
40(1)
2.2.7 Creating Repeatable Code
40(1)
2.2.8 Debugging
41(1)
Exercises
42(3)
Chapter 3 Deterministic Linear Models 45(10)
3.1 Selecting A Mathematical Representation For A Model
45(1)
3.2 Linear Models And Linear Equations
46(3)
3.3 Linear Interpolation
49(2)
3.4 Systems Of Linear Equations
51(1)
3.5 Limitations Of Linear Models
51(1)
Exercises
52(1)
References
53(2)
Chapter 4 Array Mathematics In Matlab® And Python 55(6)
4.1 Introduction To Arrays And Matrices
55(1)
4.2 Brief Overview Of Matrix Mathematics
56(2)
4.3 Matrix Operations In Matlab®
58(1)
4.4 Matrix Operations In Python
59(1)
Exercises
60(1)
Chapter 5 Plotting 61(18)
5.1 Plotting In Matlab®
61(7)
5.2 Plotting In Python
68(8)
Exercises
76(3)
Chapter 6 Problem Solving 79(8)
6.1 Overview
79(1)
6.2 Bottle Filling Example
80(1)
6.3 Tools For Program Development
81(3)
6.3.1 Pseudocode
82(1)
6.3.2 Top-Down Design
82(1)
6.3.3 Flowcharts
83(1)
6.4 Bottle Filling Example Continued
84(1)
Exercises
85(2)
Chapter 7 Conditional Statements 87(10)
7.1 Relational Operators
87(1)
7.2 Logical Operators
88(1)
7.3 Conditional Statements
89(6)
7.3.1 Matlab®
89(3)
7.3.2 Python
92(3)
Exercises
95(2)
Chapter 8 Iteration And Loops 97(4)
8.1 For Loops
97(2)
8.1.1 Matlab® Loops
97(1)
8.1.2 Python Loops
98(1)
8.2 While Loops
99(1)
8.2.1 Matlab® While Loops
99(1)
8.2.2 Python While Loops
99(1)
8.3 Control Statements
100(1)
8.3.1 Continue
100(1)
8.3.2 Break
100(1)
Exercises
100(1)
Chapter 9 Nonlinear And Dynamic Models 101(16)
9.1 Modeling Complex Systems
101(1)
9.2 Systems Dynamics
101(10)
9.2.1 Components Of A System
102(2)
9.2.2 Unconstrained Growth And Decay
104(4)
9.2.2.1 Unconstrained Growth Exercises
106(2)
9.2.3 Constrained Growth
108(3)
9.2.3.1 Constrained Growth Exercise
110(1)
9.3 Modeling Physical And Social Phenomena
111(4)
9.3.1 Simple Model Of Tossed Ball
112(1)
9.3.2 Extending The Model
113(4)
9.3.2.1 Ball Toss Exercise
114(1)
References
115(2)
Chapter 10 Estimating Models From Empirical Data 117(16)
10.1 Using Data To Build Forecasting Models
117(3)
10.1.1 Limitations Of Empirical Models
118(2)
10.2 Fitting A Mathematical Function To Data
120(11)
10.2.1 Fitting A Linear Model
122(3)
10.2.2 Linear Models With Multiple Predictors
125(1)
10.2.3 Nonlinear Model Estimation
126(21)
10.2.3.1 Limitations With Linear Transformation
130(1)
10.2.3.2 Nonlinear Fitting And Regression
130(1)
10.2.3.3 Segmentation
131(1)
Exercises
131(1)
Further Readings
132(1)
References
132(1)
Chapter 11 Stochastic Models 133(12)
11.1 Introduction
133(1)
11.2 Creating A Stochastic Model
134(2)
11.3 Random Number Generators In Matlab® And Python
136(1)
11.4 A Simple Code Example
137(2)
11.5 Examples Of Larger Scale Stochastic Models
139(3)
Exercises
142(1)
Further Readings
143(1)
References
143(2)
Chapter 12 Functions 145(6)
12.1 Matlab® Functions
145(2)
12.2 Python Functions
147(2)
12.2.1 Functions Syntax In Python
147(1)
12.2.2 Python Modules
148(1)
Exercises
149(2)
Chapter 13 Verification, Validation, And Errors 151(18)
13.1 Introduction
151(1)
13.2 Errors
152(7)
13.2.1 Absolute And Relative Error
152(1)
13.2.2 Precision
153(1)
13.2.3 Truncation And Rounding Error
153(2)
13.2.4 Violating Numeric Associative And Distributive Properties
155(1)
13.2.5 Algorithms And Errors
155(4)
13.2.5.1 Euler's Method
156(2)
13.2.5.2 Runge-Kutta Method
158(1)
13.2.6 Ode Modules In Matlab® And Python
159(1)
13.3 Verification And Validation
159(7)
13.3.1 History And Definitions
160(2)
13.3.2 Verification Guidelines
162(1)
13.3.3 Validation Guidelines
163(8)
13.3.3.1 Quantitative And Statistical Validation Measures
164(2)
13.3.3.2 Graphical Methods
166(1)
Exercises
166(1)
References
167(2)
Chapter 14 Capstone Projects 169(14)
14.1 Introduction
169(1)
14.2 Project Goals
170(1)
14.3 Project Descriptions
171(10)
14.3.1 Drug Dosage Model
171(1)
14.3.2 Malaria Model
172(2)
14.3.3 Population Dynamics Model
174(2)
14.3.4 Skydiver Project
176(2)
14.3.5 Sewage Project
178(2)
14.3.6 Empirical Model Of Heart Disease Risk Factors
180(1)
14.3.7 Stochastic Model Of Traffic
180(1)
14.3.8 Other Project Options
181(1)
Reference
181(2)
Index 183
Dr. Steven I Gordon is a Professor Emeritus at The Ohio State University in the City and Regional Planning and Environmental Science Programs. He also serves as the Senior Education Lead at the Ohio Supercomputer Center. In that and other roles at OSC, he has focused primarily on the integration of computational science into the curricula at higher education institutions in Ohio and throughout the U.S. He has worked with multiple institutions through a variety of grants from the National Science Foundation including the XSEDE and Blue Waters Projects.





Dr. Gordon is also one of the founders and first chair of the Association of Computing Machinery SIGHPC Education Chapter and serves as a presentative of the SIGHPC on the ACM Education Council. He has published extensively on topics related to environmental planning and the applications of modeling and simulation in education and research. He earned a bachelors degree from the University of Buffalo in 1966 and a PhD from Columbia University in 1977.





Brian Guilfoos serves as the HPC Client Services manager for the Ohio Supercomputer Center (OSC). Guilfoos leads the HPC Client Services Group, which provides training and user support to facilitate the use of computational science by the center's user communities. Guilfoos also works directly with OSC clients to help convert computer codes, develop batch scripting, compiling and code development so that these researchers can efficiently use the center's supercomputers and licensed software.





Guilfoos developed and delivered training in MATLAB as a part of the U.S. Department of Defense High Performance Computing Modernization Program support. Prior to joining OSC, he was contracted by the Air Force Research Laboratory to focus on software development in support of unmanned aerial vehicle (UAV) interface research. He was a key technical member of a team that was awarded the 2004 Scientific and Technological Achievement Award by the AFRL Human Effectiveness Directorate. He earned a master's degree in public policy and administration in 2014 and a bachelor's degree in electrical engineering in 2000, both from The Ohio State University.