Introduction to modeling and simulation with MATLAB and Python
Author(s)
Bibliographic Information
Introduction to modeling and simulation with MATLAB and Python
(Chapman & Hall/CRC computational science series / series editer, Horst Simon)
CRC Press, c2017
- : hardback
Available at 6 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Includes bibliographical references and index
Description and Table of Contents
Description
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.
Table of Contents
Chapter 1 Introduction to Computational Modeling
1.1 THE IMPORTANCE OF COMPUTATIONAL SCIENCE
1.2 HOW MODELING HAS CONTRIBUTED
TO ADVANCES IN SCIENCE AND ENGINEERING
1.2.1 Some Contemporary Examples
1.3 THE MODELING PROCESS
1.3.1 Steps in the Modeling Process
1.3.2 Mathematical Modeling Terminology and
Approaches to Simulation
1.3.3 Modeling and Simulation Terminology
1.3.4 Example Applications of Modeling and Simulation
EXERCISES
REFERENCES
Chapter 2 Introduction to Programming Environments
2.1 THE MATLAB (R) PROGRAMMING ENVIRONMENT
2.1.1 The MATLAB (R) Interface
2.1.2 Basic Syntax
2.1.2.1 Variables and Operators
2.1.2.2 Keywords
2.1.2.3 Lists and Arrays
2.1.3 Common Functions
2.1.4 Program Execution
2.1.5 Creating Repeatable Code
2.1.6 Debugging
2.2 THE PYTHON ENVIRONMENT
2.2.1 Recommendations and Installation
2.2.2 The Spyder Interface
2.2.3 Basic Syntax
2.2.3.1 Variables and Operators
2.2.3.2 Keywords
2.2.3.3 Lists and Arrays
2.2.4 Loading Libraries
2.2.5 Common Functions
2.2.6 Program Execution
2.2.7 Creating Repeatable Code
2.2.8 Debugging
EXERCISES
Chapter 3 Deterministic Linear Models
3.1 SELECTING A MATHEMATICAL REPRESENTATION
FOR A MODEL
3.2 LINEAR MODELS AND LINEAR EQUATIONS
3.3 LINEAR INTERPOLATION
3.4 SYSTEMS OF LINEAR EQUATIONS
3.5 LIMITATIONS OF LINEAR MODELS
EXERCISES
REFERENCES
Chapter 4 Array Mathematics in MATLAB (R) and Python
4.1 INTRODUCTION TO ARRAYS AND MATRICES
4.2 BRIEF OVERVIEW OF MATRIX MATHEMATICS
4.3 MATRIX OPERATIONS IN MATLAB (R)
4.4 MATRIX OPERATIONS IN PYTHON
EXERCISES
Chapter 5 Plotting
5.1 PLOTTING IN MATLAB (R)
5.2 PLOTTING IN PYTHON
EXERCISES
Chapter 6 Problem Solving
6.1 OVERVIEW
6.2 BOTTLE FILLING EXAMPLE
6.3 TOOLS FOR PROGRAM DEVELOPMENT
6.3.1 Pseudocode
6.3.2 Top-Down Design
6.3.3 Flowcharts
6.4 BOTTLE FILLING EXAMPLE CONTINUED
EXERCISES
Chapter 7 Conditional Statements
7.1 RELATIONAL OPERATORS
7.2 LOGICAL OPERATORS
7.3 CONDITIONAL STATEMENTS
7.3.1 MATLAB (R)
7.3.2 Python
EXERCISES
Chapter 8 Iteration and Loops
8.1 FOR LOOPS
8.1.1 MATLAB (R) Loops
8.1.2 Python Loops
8.2 WHILE LOOPS
8.2.1 MATLAB (R) While Loops
8.2.2 Python While Loops
8.3 CONTROL STATEMENTS
8.3.1 Continue
8.3.2 Break
EXERCISES
Chapter 9 Nonlinear and Dynamic Models
9.1 MODELING COMPLEX SYSTEMS
9.2 SYSTEMS DYNAMICS
9.2.1 Components of a System
9.2.2 Unconstrained Growth and Decay
9.2.2.1 Unconstrained Growth Exercises
9.2.3 Constrained Growth
9.2.3.1 Constrained Growth Exercise
9.3 MODELING PHYSICAL AND SOCIAL PHENOMENA
9.3.1 Simple Model of Tossed Ball
9.3.2 Extending the Model
9.3.2.1 Ball Toss Exercise
REFERENCES
Chapter 10 Estimating Models from Empirical Data
10.1 USING DATA TO BUILD FORECASTING MODELS
10.1.1 Limitations of Empirical Models
10.2 FITTING A MATHEMATICAL FUNCTION TO DATA
10.2.1 Fitting a Linear Model
10.2.2 Linear Models with Multiple Predictors
10.2.3 Nonlinear Model Estimation
10.2.3.1 Limitations with Linear
Transformation
10.2.3.2 Nonlinear Fitting and Regression
10.2.3.3 Segmentation
EXERCISES
FURTHER READINGS
REFERENCES
Chapter 11 Stochastic Models
11.1 INTRODUCTION
11.2 CREATING A STOCHASTIC MODEL
11.3 RANDOM NUMBER GENERATORS IN
MATLAB (R) AND PYTHON
11.4 A SIMPLE CODE EXAMPLE
11.5 EXAMPLES OF LARGER SCALE STOCHASTIC
MODELS
EXERCISES
FURTHER READINGS
REFERENCES
Chapter 12 Functions
12.1 MATLAB (R) FUNCTIONS
12.2 PYTHON FUNCTIONS
12.2.1 Functions Syntax in Python
12.2.2 Python Modules
EXERCISES
Chapter 13 Verification, Validation, and Errors
13.1 INTRODUCTION
13.2 ERRORS
13.2.1 Absolute and Relative Error
13.2.2 Precision
13.2.3 Truncation and Rounding Error
13.2.4 Violating Numeric Associative and
Distributive Properties
13.2.5 Algorithms and Errors
13.2.5.1 Euler's Method
13.2.5.2 Runge-Kutta Method
13.2.6 ODE Modules in MATLAB (R)
and Python
13.3 VERIFICATION AND VALIDATION
13.3.1 History and Definitions
13.3.2 Verification Guidelines
13.3.3 Validation Guidelines
13.3.3.1 Quantitative and Statistical
Validation Measures
13.3.3.2 Graphical Methods
EXERCISES
REFERENCES
Chapter 14 Capstone Projects
14.1 INTRODUCTION
14.2 PROJECT GOALS
14.3 PROJECT DESCRIPTIONS
14.3.1 Drug Dosage Model
14.3.2 Malaria Model
14.3.3 Population Dynamics Model
14.3.4 Skydiver Project
14.3.5 Sewage Project
14.3.6 Empirical Model of Heart Disease Risk Factors
14.3.7 Stochastic Model of Traffic
14.3.8 Other Project Options
REFERENCE
by "Nielsen BookData"