Introduction to Modeling and Simulation with MATLAB® and Python


Book 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.




Modeling and Simulation in Python


Book Description

Modeling and Simulation in Python teaches readers how to analyze real-world scenarios using the Python programming language, requiring no more than a background in high school math. Modeling and Simulation in Python is a thorough but easy-to-follow introduction to physical modeling—that is, the art of describing and simulating real-world systems. Readers are guided through modeling things like world population growth, infectious disease, bungee jumping, baseball flight trajectories, celestial mechanics, and more while simultaneously developing a strong understanding of fundamental programming concepts like loops, vectors, and functions. Clear and concise, with a focus on learning by doing, the author spares the reader abstract, theoretical complexities and gets right to hands-on examples that show how to produce useful models and simulations.




Hands-On Simulation Modeling with Python


Book Description

Enhance your simulation modeling skills by creating and analyzing digital prototypes of a physical model using Python programming with this comprehensive guide Key Features Learn to create a digital prototype of a real model using hands-on examples Evaluate the performance and output of your prototype using simulation modeling techniques Understand various statistical and physical simulations to improve systems using Python Book Description Simulation modeling helps you to create digital prototypes of physical models to analyze how they work and predict their performance in the real world. With this comprehensive guide, you'll understand various computational statistical simulations using Python. Starting with the fundamentals of simulation modeling, you'll understand concepts such as randomness and explore data generating processes, resampling methods, and bootstrapping techniques. You'll then cover key algorithms such as Monte Carlo simulations and Markov decision processes, which are used to develop numerical simulation models, and discover how they can be used to solve real-world problems. As you advance, you'll develop simulation models to help you get accurate results and enhance decision-making processes. Using optimization techniques, you'll learn to modify the performance of a model to improve results and make optimal use of resources. The book will guide you in creating a digital prototype using practical use cases for financial engineering, prototyping project management to improve planning, and simulating physical phenomena using neural networks. By the end of this book, you'll have learned how to construct and deploy simulation models of your own to overcome real-world challenges. What you will learn Gain an overview of the different types of simulation models Get to grips with the concepts of randomness and data generation process Understand how to work with discrete and continuous distributions Work with Monte Carlo simulations to calculate a definite integral Find out how to simulate random walks using Markov chains Obtain robust estimates of confidence intervals and standard errors of population parameters Discover how to use optimization methods in real-life applications Run efficient simulations to analyze real-world systems Who this book is for Hands-On Simulation Modeling with Python is for simulation developers and engineers, model designers, and anyone already familiar with the basic computational methods that are used to study the behavior of systems. This book will help you explore advanced simulation techniques such as Monte Carlo methods, statistical simulations, and much more using Python. Working knowledge of Python programming language is required.







Modeling and Simulation of Systems Using MATLAB and Simulink


Book Description

Not only do modeling and simulation help provide a better understanding of how real-world systems function, they also enable us to predict system behavior before a system is actually built and analyze systems accurately under varying operating conditions. Modeling and Simulation of Systems Using MATLAB® and Simulink® provides comprehensive, state-of-the-art coverage of all the important aspects of modeling and simulating both physical and conceptual systems. Various real-life examples show how simulation plays a key role in understanding real-world systems. The author also explains how to effectively use MATLAB and Simulink software to successfully apply the modeling and simulation techniques presented. After introducing the underlying philosophy of systems, the book offers step-by-step procedures for modeling different types of systems using modeling techniques, such as the graph-theoretic approach, interpretive structural modeling, and system dynamics modeling. It then explores how simulation evolved from pre-computer days into the current science of today. The text also presents modern soft computing techniques, including artificial neural networks, fuzzy systems, and genetic algorithms, for modeling and simulating complex and nonlinear systems. The final chapter addresses discrete systems modeling. Preparing both undergraduate and graduate students for advanced modeling and simulation courses, this text helps them carry out effective simulation studies. In addition, graduate students should be able to comprehend and conduct simulation research after completing this book.




Practical Numerical and Scientific Computing with MATLAB® and Python


Book Description

Practical Numerical and Scientific Computing with MATLAB® and Python concentrates on the practical aspects of numerical analysis and linear and non-linear programming. It discusses the methods for solving different types of mathematical problems using MATLAB and Python. Although the book focuses on the approximation problem rather than on error analysis of mathematical problems, it provides practical ways to calculate errors. The book is divided into three parts, covering topics in numerical linear algebra, methods of interpolation, numerical differentiation and integration, solutions of differential equations, linear and non-linear programming problems, and optimal control problems. This book has the following advantages: It adopts the programming languages, MATLAB and Python, which are widely used among academics, scientists, and engineers, for ease of use and contain many libraries covering many scientific and engineering fields. It contains topics that are rarely found in other numerical analysis books, such as ill-conditioned linear systems and methods of regularization to stabilize their solutions, nonstandard finite differences methods for solutions of ordinary differential equations, and the computations of the optimal controls. It provides a practical explanation of how to apply these topics using MATLAB and Python. It discusses software libraries to solve mathematical problems, such as software Gekko, pulp, and pyomo. These libraries use Python for solutions to differential equations and static and dynamic optimization problems. Most programs in the book can be applied in versions prior to MATLAB 2017b and Python 3.7.4 without the need to modify these programs. This book is aimed at newcomers and middle-level students, as well as members of the scientific community who are interested in solving math problems using MATLAB or Python.




An Introduction to Reservoir Simulation Using MATLAB/GNU Octave


Book Description

Presents numerical methods for reservoir simulation, with efficient implementation and examples using widely-used online open-source code, for researchers, professionals and advanced students. This title is also available as Open Access on Cambridge Core.




Emerging Technologies for Health and Medicine


Book Description

Showcases the latest trends in new virtual/augmented reality healthcare and medical applications and provides an overview of the economic, psychological, educational and organizational impacts of these new applications and how we work, teach, learn and provide care. With the current advances in technology innovation, the field of medicine and healthcare is rapidly expanding and, as a result, many different areas of human health diagnostics, treatment and care are emerging. Wireless technology is getting faster and 5G mobile technology allows the Internet of Medical Things (IoMT) to greatly improve patient care and more effectively prevent illness from developing. This book provides an overview and review of the current and anticipated changes in medicine and healthcare due to new technologies and faster communication between users and devices. The groundbreaking book presents state-of-the-art chapters on many subjects including: A review of the implications of Virtual Reality (VR) and Augmented Reality (AR) healthcare applications A review of current augmenting dental care An overview of typical human-computer interaction (HCI) that can help inform the development of user interface designs and novel ways to evaluate human behavior to responses in VR and other new technologies A review of telemedicine technologies Building empathy in young children using augmented reality AI technologies for mobile health of stroke monitoring & rehabilitation robotics control Mobile doctor brain AI App An artificial intelligence mobile cloud computing tool Development of a robotic teaching aid for disabled children Training system design of lower limb rehabilitation robot based on virtual reality




C++ Design Patterns and Derivatives Pricing


Book Description

Design patterns are the cutting-edge paradigm for programming in object-oriented languages. Here they are discussed, for the first time in a book, in the context of implementing financial models in C++. Assuming only a basic knowledge of C++ and mathematical finance, the reader is taught how to produce well-designed, structured, re-usable code via concrete examples. Each example is treated in depth, with the whys and wherefores of the chosen method of solution critically examined. Part of the book is devoted to designing re-usable components that are then put together to build a Monte Carlo pricer for path-dependent exotic options. Advanced topics treated include the factory pattern, the singleton pattern and the decorator pattern. Complete ANSI/ISO-compatible C++ source code is included on a CD for the reader to study and re-use and so develop the skills needed to implement financial models with object-oriented programs and become a working financial engineer. Please note the CD supplied with this book is platform-dependent and PC users will not be able to use the files without manual intervention in order to remove extraneous characters. Cambridge University Press apologises for this error. Machine readable files for all users can be obtained from www.markjoshi.com/design.




Financial Risk Forecasting


Book Description

Financial Risk Forecasting is a complete introduction to practical quantitative risk management, with a focus on market risk. Derived from the authors teaching notes and years spent training practitioners in risk management techniques, it brings together the three key disciplines of finance, statistics and modeling (programming), to provide a thorough grounding in risk management techniques. Written by renowned risk expert Jon Danielsson, the book begins with an introduction to financial markets and market prices, volatility clusters, fat tails and nonlinear dependence. It then goes on to present volatility forecasting with both univatiate and multivatiate methods, discussing the various methods used by industry, with a special focus on the GARCH family of models. The evaluation of the quality of forecasts is discussed in detail. Next, the main concepts in risk and models to forecast risk are discussed, especially volatility, value-at-risk and expected shortfall. The focus is both on risk in basic assets such as stocks and foreign exchange, but also calculations of risk in bonds and options, with analytical methods such as delta-normal VaR and duration-normal VaR and Monte Carlo simulation. The book then moves on to the evaluation of risk models with methods like backtesting, followed by a discussion on stress testing. The book concludes by focussing on the forecasting of risk in very large and uncommon events with extreme value theory and considering the underlying assumptions behind almost every risk model in practical use – that risk is exogenous – and what happens when those assumptions are violated. Every method presented brings together theoretical discussion and derivation of key equations and a discussion of issues in practical implementation. Each method is implemented in both MATLAB and R, two of the most commonly used mathematical programming languages for risk forecasting with which the reader can implement the models illustrated in the book. The book includes four appendices. The first introduces basic concepts in statistics and financial time series referred to throughout the book. The second and third introduce R and MATLAB, providing a discussion of the basic implementation of the software packages. And the final looks at the concept of maximum likelihood, especially issues in implementation and testing. The book is accompanied by a website - www.financialriskforecasting.com – which features downloadable code as used in the book.