<p><span>This textbook is written for the first introductory course on scientific computing. It covers elementary numerical methods for linear systems, root finding, interpolation, numerical integration, numerical differentiation, least squares problems, initial value problems and boundary value pro
Introduction to Engineering and Scientific Computing with Python
✍ Scribed by David E. Clough, Steven C. Chapra
- Publisher
- CRC Press
- Year
- 2022
- Tongue
- English
- Leaves
- 421
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
As more and more engineering departments and companies choose to use Python, this book provides an essential introduction to this open-source, free-to-use language. Expressly designed to support first-year engineering students, this book covers engineering and scientific calculations, Python basics, and structured programming.
Based on extensive teaching experience, the text uses practical problem solving as a vehicle to teach Python as a programming language. By learning computing fundamentals in an engaging and hands-on manner, it enables the reader to apply engineering and scientific methods with Python, focusing this general language to the needs of engineers and the problems they are required to solve on a daily basis. Rather than inundating students with complex terminology, this book is designed with a leveling approach in mind, enabling students at all levels to gain experience and understanding of Python. It covers such topics as structured programming, graphics, matrix operations, algebraic equations, differential equations, and applied statistics. A comprehensive chapter on working with data brings this book to a close.
This book is an essential guide to Python, which will be relevant to all engineers, particularly undergraduate students in their first year. It will also be of interest to professionals and graduate students looking to hone their programming skills, and apply Python to engineering and scientific contexts.
✦ Table of Contents
Cover
Half Title
Title Page
Copyright Page
Dedication
Table of Contents
List of Examples
Preface
Acknowledgments
Authors
Chapter 1 Engineering and Scientific Calculations
Chapter Objectives
1.1 Numerical Quantities
1.1.1 Positional and Scientific Notation
1.1.2 Accuracy and Precision
1.1.3 Significant Figures
1.1.4 Rounding
1.2 Mathematical Functions
1.2.1 Absolute Value and Sign Functions
1.2.2 Exponents and Logarithms
1.2.3 Trigonometric Functions
1.2.4 Hyperbolic Functions
1.3 Complex Numbers
1.4 Engineering Units
1.5 Organizing and Planning Solutions to Problems
Problems
Chapter 2 Computer-Based Calculations
Chapter Objectives
2.1 Numerical Quantities as Stored in the Computer
2.1.1 Integer Numbers
2.1.2 Real Numbers
2.2 How the Computer Stores Text
2.3 Boolean True/False Information
2.4 Computer Storage Evolution and Terminology
Problems
Chapter 3 Python Basics
Chapter Objectives
3.1 The Spyder/IPython Environment
3.2 Mathematical Functions
3.3 Variables and Assignment
3.4 Objects, Attributes, Methods, and Data Types
3.4.1 Boolean Type
3.4.2 Character Type
3.5 Collections of Data
3.6 Creating Plots
3.7 The Spyder Editor
3.8 Input and Output
3.8.1 Console Input and Output
3.8.2 File Input and Output
3.8.3 Formatting Output
3.9 Obtaining Help
Problems
Chapter 4 Structured Programming with Python
Chapter Objectives
4.1 An Overview of Program Structure
4.2 Implementing Decision Structures with Python
4.3 Implementing Repetition Structures with Python
4.3.1 The General Loop Structure
4.3.2 The List-Driven and Count-Controlled Loop Structures
4.3.3 The break and Continue Statements with the for Loop
4.4 User-Defined Functions in Python
4.4.1 lambda Functions
4.4.2 Function Arguments
4.4.3 Variable Scope
Problems
Chapter 5 Graphics—Matplotlib
Chapter Objectives
5.1 Introduction to Matplotlib
5.2 Customizing Line and Scatter Plots
5.3 Using Figure Window Objects
5.4 Creating Bar Plots Including Histograms
5.5 Creating Other Plots of Interest
5.6 Contour and Surface Plots
Problems
Chapter 6 Array and Matrix Operations
Chapter Objectives
6.1 Creating Arrays in Python
6.1.1 Creating Special Arrays
6.1.2 Combining, Stacking, and Splitting Arrays
6.1.3 Reshaping Arrays
6.2 Indexing: Array Subscripts
6.3 Array Operations
6.4 Vector/Matrix Operations
6.4.1 Matrix/Vector Multiplication
6.4.2 Transpose
6.4.3 Matrix Inversion
Problems
Chapter 7 Solving Single Algebraic Equations
Chapter Objectives
7.1 The Nature of Single, Nonlinear Equations in One Unknown
7.2 Bracketing Methods—Bisection
7.3 Bracketing Methods—False Position
7.4 Open Methods—Newton-Raphson
7.5 Open Methods—Modified Secant
7.6 Circular Methods—Fixed-Point Iteration
7.7 Circular Methods—The Wegstein Method
7.8 A Hybrid Approach—Brent’s Method
7.9 Solving for the Roots of Polynomials
7.10 Case Study: Trajectories of Projectiles in Air
Problems
Chapter 8 Solving Sets of Algebraic Equations
Chapter Objectives
8.1 Systems of Linear Algebraic Equations
8.2 Solving Small Numbers of Linear Algebraic Equations
8.2.1 Graphical Method
8.2.2 Determinants and Cramer’s Rule
8.2.2.1 Determinants
8.2.2.2 Cramer’s Rule
8.2.3 Elimination of Unknowns
8.3 Gaussian Elimination
8.3.1 Naive Gaussian Elimination
8.3.2 Gaussian Elimination Computer Algorithm
8.3.2.1 Naive Gaussian Elimination Algorithm
8.3.2.2 Adding Determinant Evaluation
8.3.2.3 Partial Pivoting
8.3.2.4 Detecting Singular and Ill-Conditioned Systems
8.4 Solving Sets of Linear Equations with the NumPy linalg Module
8.5 Solving Sets of Nonlinear Algebraic Equations
8.5.1 Solution of Nonlinear Algebraic Equations by Successive Substitution
8.5.2 The Newton-Raphson Method for Nonlinear Systems of Equations
8.6 Use of the root Function from the SciPy optimize Module to Solve Nonlinear Equations
Problems
Chapter 9 Solving Differential Equations
Chapter Objectives
9.1 Describing Differential Equations
9.2 Quadrature – Finding the Area under the Curve
9.2.1 Pre-computer Methods
9.2.2 Quadrature for Continuous Functions
9.2.3 The quad Function from SciPy’s integrate Module
9.2.4 Quadrature for Discrete Data
9.3 Solving Differential Equations with Initial Conditions
9.3.1 Euler’s Method
9.3.2 Heun’s Method
9.3.3 Systems of Differential Equations
9.4 Solving Differential Equations with the solve_ivp Function from SciPy’s integrate Module
Problems
Chapter 10 Working with Data
Chapter Objectives
10.1 Characterizing Data Sets: Initial Observations and Sample Statistics
10.1.1 General Data Concepts
10.1.2 Sample Statistics: Central Tendency and Dispersion
10.1.2.1 Central Tendency
10.1.2.2 Spread or Dispersion
10.1.3 Using Boxplots to Diagnose Outliers
10.2 Distributions
10.2.1 Several Important Distributions
10.2.1.1 Uniform Distribution
10.2.1.2 Normal Distribution
10.2.1.3 Weibull Distribution
10.2.2 Python and Distributions
10.2.3 Random Numbers
10.3 Making Claims Based on Data
10.3.1 Comparison of Data with a Standard
10.3.2 Comparison between Two Samples
10.3.3 Determining Whether Data Are Normally Distributed
10.4 Fitting Mathematical Models to Data
10.4.1 Straight-line Linear Regression
10.4.2 Fitting Polynomials
10.4.3 General Issues and Precautions
Problems
References
Index
Index of Python Terminology
📜 SIMILAR VOLUMES
This textbook is a comprehensive introduction to computational mathematics and scientific computing suitable for undergraduate and postgraduate courses. It presents both practical and theoretical aspects of the subject, as well as advantages and pitfalls of classical numerical methods alongside with
Python(r) is a free open-source language and environment that has tremendous potential in the scientific computing domain. Computing with Python presents the programming language in tight connection with mathematical applications. The approach of the book is concept based rather than a systematic in
Python(r) is a free open-source language and environment that has tremendous potential in the scientific computing domain. Computing with Python presents the programming language in tight connection with mathematical applications. The approach of the book is concept based rather than a systematic in
Python is a free open-source language and environment that has tremendous potential in the scientific computing domain. Computing with Python presents the programming language in tight connection with mathematical applications. The approach of the book is concept based rather than a systematic intro