𝔖 Scriptorium
✦   LIBER   ✦

📁

Introduction to Computational Engineering with MATLAB® (Chapman & Hall/CRC Numerical Analysis and Scientific Computing Series)

✍ Scribed by Timothy Bower


Publisher
Chapman and Hall/CRC
Year
2022
Tongue
English
Leaves
439
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Introduction to Computational Engineering with MATLAB® aims to teach readers how to use MATLAB programming to solve numerical engineering problems. The book focuses on computational engineering with the objective of helping engineering students improve their numerical problem-solving skills. The book cuts a middle path between undergraduate texts that simply focus on programming and advanced mathematical texts that skip over foundational concepts, feature cryptic mathematical expressions, and do not provide sufficient support for novices.

Although this book covers some advanced topics, readers do not need prior computer programming experience or an advanced mathematical background. Instead, the focus is on learning how to leverage the computer and software environment to do the hard work. The problem areas discussed are related to data-driven engineering, statistics, linear algebra, and numerical methods. Some example problems discussed touch on robotics, control systems, and machine learning.

Features:

    • Demonstrates through algorithms and code segments how numeric problems are solved with only a few lines of MATLAB code
    • Quickly teaches students the basics and gets them started programming interesting problems as soon as possible
    • No prior computer programming experience or advanced math skills required
    • Suitable for students at undergraduate level who have prior knowledge of college algebra, trigonometry, and are enrolled in Calculus I
    • MATLAB script files, functions, and datasets used in examples are available for download from http://www.routledge.com/9781032221410.

    ✦ Table of Contents


    Cover
    Half Title
    Series Page
    Title Page
    Copyright Page
    Dedication
    Contents
    Preface
    List of Program Files
    1. MATLAB Programming
    1.1. The MATLAB Development Environment
    1.1.1. Using the IDE
    1.1.2. How to get help
    1.2. Variables and Values
    1.2.1. Command Window Calculator
    1.2.2. Identifier Names
    1.2.3. Calling Functions
    1.2.4. Numeric Data Types
    1.2.5. Simple Arrays
    1.2.6. Clearing Variables
    1.2.7. Some Pre-defined Constants
    1.3. MATLAB Scripts
    1.3.1. Displaying Results
    1.3.2. Adding Sections
    1.3.3. Comments
    1.4. Input and Output
    1.4.1. Input Function
    1.4.2. Output Functions
    1.4.2.1. disp
    1.4.2.2. fprintf
    1.5. For Loops
    1.5.1. Code Blocks
    1.5.2. For Loop Syntax
    1.5.3. Colon Sequences
    1.5.4. Application of For Loops in MATLAB
    1.5.5. Fibonacci Sequence
    1.5.6. First Plot
    1.5.7. A Multi-line Plot
    1.6. Control Constructs
    1.6.1. Selection Statements
    1.6.1.1. If Construct
    1.6.1.2. Else
    1.6.1.3. Elseif
    1.6.1.4. Switch–Case Construct
    1.6.1.5. Example Selection Statements
    1.6.2. While Loop
    1.6.3. Example Control Constructs—sinc
    1.6.4. Continue and Break
    1.6.4.1. Continue
    1.6.4.2. Break
    1.6.4.3. Continue and Break Example
    1.7. Vectors and Matrices in MATLAB
    1.7.1. Matrix Generating Functions
    1.7.2. Scalar—Vector Arithmetic
    1.7.3. Element-wise Arithmetic
    1.7.4. Vector and Matrix Indices
    1.7.4.1. Ranges of Indices
    1.7.4.2. Accessing Data in Matrices
    1.7.5. Delete Vector or Matrix Data
    1.7.6. Linear and Logarithmic Spaced Vectors
    1.8. MATLAB Functions
    1.8.1. Syntax of a Function
    1.8.2. Calling a Function
    1.8.3. Example Function
    1.8.4. Function Handles
    1.9. Functions Operating on Vectors
    1.9.1. Replacing Loops with Vectorized Code
    1.9.2. Vectors as Input Variables
    1.9.3. Logical Vectors
    1.9.4. Sinc Revisited
    1.10. Importing Data Into MATLAB
    1.10.1. Saving and Loading Workspace Data
    1.10.2. Import Tool
    1.10.3. Reading Tables
    1.10.4. Dealing with Missing Data
    1.10.5. Exporting Table Data
    1.11. Text Strings in MATLAB
    1.12. Exercises
    2. Graphical Data Analysis
    2.1. Using the Plot Tool
    2.2. Basic Line Plots
    2.2.1. Basic Plotting Notes
    2.2.2. Annotating Plots
    2.2.3. Starting a New Plot
    2.2.4. Multiple Plots in the Same Figure
    2.2.5. Multiple Plots on the Same Axis
    2.2.6. Adding a Plot Legend
    2.2.7. 2-D Plot Types
    2.2.8. Axis Control
    2.2.9. Tick Marks and Labels
    2.2.10. Fplots
    2.3. 3-D Plots
    2.3.1. 3-D Plot Functions
    2.3.2. Axis Orientation
    2.4. Exercises
    3. Statistical Data Analysis
    3.1. Introduction to Statistics
    3.2. Common Statistical Functions
    3.2.1. Minimum and Maximum
    3.2.2. Mean, Standard Deviation, Median, and Mode
    3.2.3. Sort, Sum, Cumsum, and Diff
    3.3. Moving Window Statistics
    3.4. Probability Distributions
    3.4.1. Discrete Distributions
    3.4.2. Continuous Distributions
    3.5. Generating Random Numbers
    3.5.1. Exponential Random Number Generator
    3.5.2. Monte Carlo Simulation
    3.5.3. Random Casino Walk
    3.6. Statistics on Matrices
    3.6.1. Column Statistics
    3.6.2. Changing Dimension
    3.6.3. Covariance and Correlation
    3.7. Plots of Statistical Data
    3.7.1. Box Plot
    3.7.2. Histogram
    3.8. Central Limit Theorem
    3.9. Sampling and Confidence Intervals
    3.10. Statistical Significance
    3.10.1. Z-Test
    3.10.2. t-Test
    3.11. Exercises
    4. Using the Symbolic Math Toolbox
    4.1. Throwing a Ball Up
    4.2. Symbolic Algebra
    4.2.1. Collect
    4.2.2. Factor
    4.2.3. Expand
    4.2.4. Simplify
    4.2.5. Solve
    4.2.6. Subs
    4.2.7. Vpa
    4.3. Symbolic Calculus
    4.3.1. Symbolic Derivatives
    4.3.2. Symbolic Integration
    4.3.3. Symbolic Limits
    4.4. Symbolic Differential Equations
    4.5. Exercises
    5. Introduction to Linear Algebra
    5.1. Working with Vectors
    5.1.1. Linear Vectors
    5.1.2. Independent Vectors
    5.1.3. Transpose
    5.1.4. Dot Product and Inner Product
    5.1.5. Dot Product Properties
    5.1.5.1. Commutative
    5.1.5.2. Length of Vectors
    5.1.5.3. Angle Between Vectors
    5.1.5.4. Orthogonal Vector Test
    5.1.6. Application of Dot Products
    5.1.6.1. Perpendicular Rhombus Vectors
    5.1.6.2. Find a Perpendicular Vector
    5.1.7. Outer Product
    5.1.8. Dimension and Space
    5.2. Working with Matrices
    5.2.1. Matrix Math
    5.2.1.1. Addition and Subtraction
    5.2.1.2. Matrix Multiplication
    5.2.1.3. Matrix Multiplication Properties
    5.2.1.4. Matrix Division
    5.2.2. Special Matrices
    5.2.3. Special Matrix Relationships
    5.2.3.1. Matrix Inverse
    5.2.3.2. Matrix Transpose Properties
    5.2.4. Determinant
    5.2.5. Calculating a Matrix Inverse
    5.2.6. Invertible Test
    5.2.7. Cross Product
    5.3. Geometric Transforms
    5.3.1. Rotation of a Point
    5.3.2. Homogeneous Matrix
    5.3.3. Applying Transformations to a Point
    5.3.4. Coordinate Transformations in 2-D
    5.4. Systems of Linear Equations
    5.4.1. An Example
    5.4.2. Jumping Ahead to MATLAB
    5.4.3. The Column and Row Factorization
    5.4.4. The Row and Column View
    5.4.5. When Does a Solution Exist?
    5.5. Elimination
    5.5.1. The Gaussian Elimination Procedure
    5.5.2. Elimination to Find the Matrix Inverse
    5.5.3. Reduced Row Echelon Form
    5.5.4. Accuracy of Elimination
    5.5.4.1. The Need for Partial Pivoting
    5.5.4.2. RREF and Round-off Errors
    5.5.4.3. Poorly Conditioned Matrices
    5.6. LU Decomposition
    5.6.1. LU Example
    5.6.2. Example with Row Exchanges
    5.6.3. MATLAB Examples of LU
    5.6.4. LU’s Variant Elimination Algorithm
    5.6.5. Determinant Shortcut
    5.7. Linear System Applications
    5.7.1. DC Electric Circuit
    5.7.1.1. KVL Method
    5.7.1.2. KCL Method
    5.7.1.3. MATLAB Code
    5.7.2. The Statics of Trusses
    5.8. Under-determined Systems
    5.8.1. RREF and Under-determined Systems
    5.8.2. The Preferred Under-determined Solution
    5.9. Over-determined Systems and Vector Projections
    5.9.1. Projections Onto a Line
    5.9.2. Exact Solution or Approximation
    5.9.3. Projections Onto a Hyperplane
    5.9.3.1. Projection Example
    5.9.3.2. Alternate Projection Equation
    5.9.3.3. Higher Dimension Projection
    5.9.4. A Statics Problem Solved With Projections
    5.10. Least Squares Regression
    5.10.1. Linear Regression
    5.10.1.1. Linear Algebra Based Linear Regression
    5.10.1.2. Calculus Based Linear Regression
    5.10.1.3. Statistical Linear Regression
    5.10.1.4. Linear Regression Example
    5.10.2. Quadratic and Higher Order Regression
    5.10.3. polyfit function
    5.10.4. Goodness of a Fit
    5.10.5. Generalized Least Squares Regression
    5.10.6. Fitting Exponential Data
    5.11. Left-Divide Operator
    5.11.1. Left-Divide of Critically-determined Systems
    5.11.2. Left-Divide of Over-determined Systems
    5.11.3. Left-Divide of Under-determined Systems
    5.12. Exercises
    6. Application of Eigenvalues and Eigenvectors
    6.1. Introduction to Eigenvalues and Eigenvectors
    6.2. Eigenvector Animation
    6.3. Finding Eigenvalues and Eigenvectors
    6.3.1. Finding Eigenvalues
    6.3.2. Roots of a Polynomial by Eigenvalues
    6.3.3. Finding Eigenvectors
    6.4. Properties of Eigenvalues and Eigenvectors
    6.5. Diagonalization and Powers of A
    6.5.1. Diagonalization
    6.5.1.1. When does Diagonalization not work?
    6.5.1.2. Diagonalization of a Symmetric Matrix
    6.5.2. Powers of A
    6.6. Change of Basis and Difference Equations
    6.6.1. Difference Equations
    6.6.2. Application: Fibonacci Sequence
    6.6.3. Application: Markov Matrices
    6.7. Systems of Linear ODEs
    6.7.1. ODE Example
    6.7.2. Application: Closed Loop Control Systems
    6.8. Singular Value Decomposition (SVD)
    6.8.1. The Geometry of the SVD
    6.8.2. Finding the Classic SVD
    6.8.2.1. Ordering the Columns of the SVD
    6.8.2.2. SVD of Square Matrices
    6.8.2.3. SVD of Rectangular Matrices
    6.8.2.4. Classic Implementation
    6.8.2.5. SVD Example: Square, full rank
    6.8.2.6. SVD Example: Square, singular
    6.8.2.7. SVD Example: Rectangular
    6.8.3. How SVD Changes Vectors
    6.8.4. Dimensionality Reduction
    6.8.5. Other Applications of the SVD
    6.8.5.1. Pseudo-inverse
    6.8.5.2. Projection and the Economy SVD
    6.8.5.3. Rank from the SVD
    6.8.5.4. Fundamental Subspaces from the SVD
    6.8.5.5. Condition Number
    6.8.5.6. Polar Decomposition
    6.9. Principal Component Analysis (PCA)
    6.9.1. PCA for Data Analysis
    6.9.2. PCA for Classification
    6.9.3. PCA for Recognition
    6.10. Eigenvector Animation Code
    6.11. Exercises
    7. Computational Numerical Methods
    7.1. Optimization
    7.1.1. Numerical Roots of a Function
    7.1.1.1. Newton-Raphson Method
    7.1.1.2. Bisection Method
    7.1.1.3. Secant Method
    7.1.1.4. Fzero
    7.1.2. Finding a Minimum
    7.1.2.1. Fminbnd
    7.1.2.2. Fminsearch
    7.1.3. CVX for Disciplined Convex Programming
    7.2. Data Interpolation
    7.2.1. One-Dimensional Interpolation
    7.2.2. Two-Dimensional Interpolation
    7.3. Numerical Differentiation
    7.3.1. Euler Derivative
    7.3.2. Spectral Derivative
    7.4. Numerical Integration
    7.4.1. MATLAB’s Integral Function
    7.4.2. Fixed Width Subinterval Algorithms
    7.4.2.1. Trapezoid Rule Integrals
    7.4.2.2. Simpson’s Rule Integrals
    7.4.3. Recursive Adaptive Integral
    7.5. Numerical Differential Equations
    7.5.1. Euler’s Method
    7.5.2. Heun’s Method
    7.5.3. Runge-Kutta Method
    7.5.4. Algorithm Comparison
    7.5.5. Stability Constraints
    7.5.6. Implicit Backward Euler Method
    7.5.7. Adaptive Algorithms
    7.5.7.1. The RK45 Method
    7.5.7.2. MATLAB’s ode45
    7.5.8. The Logistic Equation
    7.5.9. Stiff ODEs
    7.5.9.1. Stiff ODE Systems
    7.5.9.2. Implicit Solvers for Systems of ODEs
    7.5.9.3. MATLAB’s ode15s
    7.5.10. MATLAB’s Suite of ODE Solvers
    7.6. Exercises
    A. Linear Algebra Appendix
    A.1. Norms
    A.1.1. Vector Norms
    A.1.2. vecnorm function
    A.1.3. Matrix Norms
    A.2. Vector Spaces
    A.2.1. Vector Space Definitions
    A.2.2. Linearly Independent Vectors
    A.2.3. Rank
    A.3. Fundamental Matrix Subspaces
    A.3.1. Column Space
    A.3.2. Null Space
    A.3.3. Row Space
    A.3.4. Left Null Space
    A.3.5. Orthogonality of Spaces
    A.4. Finding Orthogonal Basis Vectors
    A.4.1. The Gram–Schmidt Algorithm
    A.4.2. Implementation of Classic Gram–Schmidt
    A.4.3. Implementation of Modified Gram–Schmidt
    A.5. QR Factorization
    A.5.1. Householder Reflection Matrices
    A.5.2. Implementation of QR Factorization
    A.6. Similar Matrices
    A.7. QR Eigenvalue Computation Algorithm
    A.7.1. Iterative QR Algorithm
    A.7.2. Similar Matrices in QR
    A.8. Linearly Independent Eigenvectors
    A.8.1. Pairwise Independence
    A.8.2. General Independence
    A.9. Symmetric Matrix Eigenvalues and Eigenvectors
    A.9.1. Proof of Real Eigenvalues and Eigenvectors
    A.9.2. Proof of Orthogonal Eigenvectors
    B. The Number e
    B.1. All About the Number e
    B.1.1. Definition and Derivative
    B.1.2. Euler’s Complex Exponential Equation
    B.1.3. Numerical Verification of Euler’s Formula
    B.1.4. Compound Interest
    B.2. A Matrix Exponent and Systems of ODEs
    B.2.1. A Matrix in the Exponent
    B.2.2. Example Matrix Exponent
    B.2.3. Matrix Solution to a System of ODEs
    B.2.4. Example ODE Matrix Solution
    Bibliography
    Index


    📜 SIMILAR VOLUMES


    A Gentle Introduction to Scientific Comp
    ✍ Dan Stanescu, Long Lee 📂 Library 📅 2022 🏛 Chapman and Hall/CRC 🌐 English

    <p><span>Scientific Computation has established itself as a stand-alone area of knowledge at the borderline between computer science and applied mathematics. Nonetheless, its interdisciplinary character cannot be denied: its methodologies are increasingly used in a wide variety of branches of scienc

    Computational Fluid Dynamics (Chapman an
    ✍ Frederic Magoules 📂 Library 📅 2011 🏛 Chapman and Hall /CRC 🌐 English

    Exploring new variations of classical methods as well as recent approaches appearing in the field, Computational Fluid Dynamics demonstrates the extensive use of numerical techniques and mathematical models in fluid mechanics. It presents various numerical methods, including finite volume, finite di

    Stochastic Methods in Scientific Computi
    ✍ Massimo D'Elia, Kurt Langfeld, Biagio Lucini 📂 Library 📅 2024 🏛 Chapman and Hall/CRC 🌐 English

    <p><span>Stochastic Methods in Scientific Computing: From Foundations to Advanced Techniques</span><span> introduces the reader to advanced concepts in stochastic modelling, rooted in an intuitive yet rigorous presentation of the underlying mathematical concepts. A particular emphasis is placed on i

    Handbook of Sinc Numerical Methods (Chap
    ✍ Frank Stenger 📂 Library 📅 2010 🏛 CRC Press 🌐 English

    Handbook of Sinc Numerical Methods presents an ideal road map for handling general numeric problems. Reflecting the author’s advances with Sinc since 1995, the text most notably provides a detailed exposition of the Sinc separation of variables method for numerically solving the full range of partia

    Modelling with Ordinary Differential Equ
    ✍ Alfio Borzì 📂 Library 📅 2020 🏛 Chapman and Hall/CRC 🌐 English

    <p><strong><em>Modelling with Ordinary Differential Equations: A Comprehensive Approach</em></strong> aims to provide a broad and self-contained introduction to the mathematical tools necessary to investigate and apply ODE models. The book starts by establishing the existence of solutions in various

    Introduction to High Performance Computi
    ✍ Georg Hager, Gerhard Wellein 📂 Library 📅 2010 🏛 CRC Press 🌐 English

    Product Description: Written by high performance computing (HPC) experts, Introduction to High Performance Computing for Scientists and Engineers provides a solid introduction to current mainstream computer architecture, dominant parallel programming models, and useful optimization strategies for sc