1st Edition

Introduction to Computational Engineering with MATLAB®

By Timothy Bower Copyright 2023
    438 Pages 129 B/W Illustrations
    by Chapman & Hall

    438 Pages 129 B/W Illustrations
    by Chapman & Hall

    438 Pages 129 B/W Illustrations
    by Chapman & Hall

    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.

    1. MATLAB Programming. 1.1. The MATLAB Development Environment. 1.2. Variables and Values. 1.3. MATLAB Scripts. 1.4. Input and Output. 1.5. For Loops. 1.6. Control Constructs. 1.7. Vectors and Matrices in MATLAB. 1.8. MATLAB Functions. 1.9. Functions Operating on Vectors. 1.10. Importing Data Into MATLAB. 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.3. 3-D Plots. 2.4. Exercises. 3. Statistical Data Analysis. 3.1. Introduction to Statistics. 3.2. Common Statistical Functions. 3.3. Moving Window Statistics. 3.4. Probability Distributions. 3.5. Generating Random Numbers. 3.6. Statistics on Matrices. 3.7. Plots of Statistical Data. 3.8. Central Limit Theorem. 3.9. Sampling and Confidence Intervals. 3.10. Statistical Significance. 3.11. Exercises. 4. Using the Symbolic Math Toolbox. 4.1. Throwing a Ball Up. 4.2. Symbolic Algebra. 4.3. Symbolic Calculus. 4.4. Symbolic Differential Equations. 4.5. Exercises. 5. Introduction to Linear Algebra. 5.1. Working with Vectors. 5.2. Working with Matrices. 5.3. Geometric Transforms. 5.4. Systems of Linear Equations. 5.5. Elimination. 5.6. LU Decomposition. 5.7. Linear System Applications. 5.8. Under-determined Systems. 5.9. Over-determined Systems and Vector Projections. 5.10. Least Squares Regression. 5.11. Left-Divide Operator. 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.4. Properties of Eigenvalues and Eigenvectors. 6.5. Diagonalization and Powers of A. 6.6. Change of Basis and Difference Equations. 6.7. Systems of Linear ODEs. 6.8. Singular Value Decomposition (SVD). 6.9. Principal Component Analysis (PCA). 6.10. Eigenvector Animation Code. 6.11. Exercises. 7. Computational Numerical Methods. 7.1. Optimization. 7.2. Data Interpolation. 7.3. Numerical Differentiation. 7.4. Numerical Integration. 7.5. Numerical Differential Equations. 7.6. Exercises. A. Linear Algebra Appendix. B. The Number e. Bibliography. Index.

    Biography

    Tim Bower is an Associate Professor of Robotics and Automation Engineering Technology and Computer Systems Technology at Kansas State University Salina. He received the B.S. Electrical Engineering degree from Kansas State University (K-State) in 1987 and the M.S. Electrical Engineering degree from the University of Kansas in 1990. He was a Senior Member of the Technical Staff at Sprint's Local Telephone Division from 1989 to 1998. From 1998 to 2003, he was a systems administration manager and instructor at Kansas State University in Manhattan Kansas while taking graduate course work in Computer Science. He joined the faculty of K-State's campus in Salina Kansas in 2004. He teaches undergraduate courses related to programming in C, Python, and MATLAB, robotics programming, machine vision, numerical computation, operating systems, data structures and algorithms, and systems administration.

    Away from teaching, he enjoys spending time with his wife, three grown children, and five grandchildren.