ENGLISH

Introduction to Engineering and Scientific Computing with Python

Book information

Publisher
CRC Press
Year
2022
ISBN
1032188944, 9781032188942
Language
english
Format
PDF
Filesize
24 MB (24847483 bytes)
Edition
1
Pages
396\421
Time added
2022-07-19 05:01:01

Description

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