Introduction to Modeling and Simulation with MATLAB® and Python
eBook - ePub

Introduction to Modeling and Simulation with MATLAB® and Python

Steven I. Gordon, Brian Guilfoos

Compartir libro
  1. 192 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Introduction to Modeling and Simulation with MATLAB® and Python

Steven I. Gordon, Brian Guilfoos

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

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.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Introduction to Modeling and Simulation with MATLAB® and Python un PDF/ePUB en línea?
Sí, puedes acceder a Introduction to Modeling and Simulation with MATLAB® and Python de Steven I. Gordon, Brian Guilfoos en formato PDF o ePUB, así como a otros libros populares de Computer Science y Computer Science General. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2017
ISBN
9781498773904
Edición
1
CHAPTER 1
Introduction to Computational Modeling
1.1 THE IMPORTANCE OF COMPUTATIONAL SCIENCE
Advances in science and engineering have come traditionally from the application of the scientific method using theory and experimentation to pose and test our ideas about the nature of our world from multiple perspectives. Through experimentation and observation, scientists develop theories that are then tested with additional experimentation. The cause and effect relationships associated with those discoveries can then be represented by mathematical expressions that approximate the behavior of the system being studied.
With the rapid development of computers, scientists and engineers translated those mathematical expressions into computer codes that allowed them to imitate the operation of the system over time. This process is called simulation. Early computers did not have the capability of solving many of the complex system simulations of interest to scientists and engineers. This led to the development of supercomputers, computers with higher level capacity for computation compared to the general-purpose computers of the time. In 1982, a panel of scientists provided a report to the U.S. Department of Defense and the National Science Foundation urging the government to aid in the development of supercomputers (Lax, 1982). They indicated that “the primacy of the U.S. in science, engineering, and computing technology could be threatened relative to that of other countries with national efforts in supercomputer access and development.” They recommended both investments in research and development and in the training of personnel in science and engineering computing.
The capability of the computer chips in your cell phone today far exceeds that of the supercomputers of the 1980s. The Cray-1 supercomputer released in 1975 had a raw computing power of 80 million floating-point operations per second (FLOPS). The iPhone 5s has a graphics processor capable of 76.8 Gigaflops, nearly one thousand times more powerful (Nick, 2014). With that growth in capability, there has been a dramatic expansion in the use of simulation for engineering design and research in science, engineering, social science, and the humanities. Over the years, that has led to many efforts to integrate computational science into the curriculum, to calls for development of a workforce prepared to apply computing to both academic and commercial pursuits, and to investments in the computer and networking infrastructure required to meet the demands of those applications. For example, in 2001 the Society for Industrial and Applied Mathematics (SIAM) provided a review of the graduate education programs in science and engineering (SIAM, 2001). They defined computational science and engineering as a multidisciplinary field requiring expertise in computer science, applied mathematics, and a subject field of science and engineering. They provided examples of emerging research, an outline of a curriculum, and curriculum examples from both North America and Europe.
Yasar and Landau (2001) provided a similar overview of the interdisciplinary nature of the field. They also describe the possible scope of programs at the both the undergraduate and graduate levels and provide a survey of existing programs and their content. More recently, Gordon et al. (2008) described the creation of a competency-based undergraduate minor program in computational science that was put into place at several institutions in Ohio. The competencies were developed by an interdisciplinary group of faculty and reviewed by an industry advisory committee from the perspective of the skills that prospective employers are looking for in students entering the job market. The competencies have guided the creation of several other undergraduate programs. They have also been updated and augmented with graduate-level computational science competencies and competencies for data-driven science. The most recent version of those competencies can be found on the HPC University website (HPC University, 2016).
More recently, there have been a number of national studies and panels emphasizing the need for the infrastructure and workforce required to undertake large-scale modeling and simulation (Council on Competitiveness, 2004; Joseph et al., 2004; Reed, 2005; SBES, 2006). This book provides an introduction to computational science relevant to students across the spectrum of science and engineering. In this chapter, we begin with a brief review of the history or computational modeling and its contributions to the advancement of science. We then provide an overview of the modeling process and the terminology associated with modeling and simulation.
As we progress through the book, we guide students through basic programming principles using two of the widely used simulation environments—MATLAB® and Python. Each chapter introduces either a new set of programming principles or applies them to the solution of one class of models. Each chapter is accompanied by exercises that help to build both basic modeling and programming skills that will provide a background for more advanced modeling courses.
1.2 HOW MODELING HAS CONTRIBUTED TO ADVANCES IN SCIENCE AND ENGINEERING
There are a myriad of examples documenting how modeling and simulation has contributed to research and to the design and manufacture of new products. Here, we trace the history of computation and modeling to illustrate how the combination of advances in computing hardware, software, and scientific knowledge has led to the integration of computational modeling techniques throughout the sciences and engineering. We then provide a few, more recent examples of advances to further illustrate the state-of-the-art. One exercise at the end of the chapter provides an opportunity for students to examine additional examples and share them with their classmates.
The first electronic programmable computer was the ENIAC built for the army toward the end of World War II as a way to quickly calculate artillery trajectories. Herman Goldstine (1990), the project leader, and two professors from the University of Pennsylvania, J. Presper Eckert, and John Mauchly sold the idea to the army in 1942 (McCartney, 1999). As the machine was being built and tested, a large team of engineers and mathematicians was assembled to learn how to use it. That included six women mathematicians who were recruited from colleges across the country. As the machine was completed in 1945, the war was near an end.
ENIAC was used extensively by the mathematician John von Neumann not only to undertake its original purposes for the army but also to create the first weather model in 1950. That machine was capable of 400 floating-point operations per second and needed 24 hours to calculate the simple daily weather model for North America. To provide a contrast to the power of current processors, Peter and Owen Lynch (2008) created a version of the model that ran on a Nokia 6300 mobile phone in less than one second!
It is impossible to document all of the changes in computational power and its relationship to the advancements in science that have occurred since this first computer. Tables 1.1 and 1.2 show a timeline of the development of selected major hardware advances, software and algorithm development, and scientific applications from a few fields. Looking at the first column in Table 1.1, one can see the tremendous growth in the power of the computers used in large-scale scientific computation. Advances in electronics and computer design have brought us from the ENIAC with 400 flops to Blue Waters with 13.34 petaflops, an increase in the maximum number of floating-point operations per second of more than 1015!
TABLE 1.1 Timeline of Advances in Computer Power and Scientific Modeling (Part 1)
...
Example Hardware
Max. Speed
Date
Weather and Climate Modeling
ENIAC
400 Flops
1945
1950
First automatic weather forecasts
UNIVAC
1951
IBM 704
12 KFLOP
1956
1959
Ed Lorenz discovers the chaotic behavior of meteorological processes
IBM7030 Stretch; UNIVAC LARC
500-500 KFLOP
~1960
1965
Global climate modeling underway
CDC6600
1 Megaflop
1966
CDC7600
10 MFLOP
1975
CRAY1
100 MFLOP
1976
CRAY-X-MP
400 MFLOP
1979
Jule Charney report to NAS
CRAY Y-MP
2.67 GFLOP
1988
Intergovernmental Panel on Climate Change
1992
UNFCCC in Rio
IBM SP2
10 Gigaflop
1994
ASCII Red
2.15 TFLOP
1995
Coupled Model Intercomparison Project (CMIP)

Índice