We may earn an affiliate commission when you visit our partners.
Course image
Jeffrey R. Chasnov

This course covers the most important numerical methods that an engineer should know, including root finding, matrix algebra, integration and interpolation, ordinary and partial differential equations. We learn how to use MATLAB to solve numerical problems, and access to MATLAB online and the MATLAB grader is given to all students who enroll.

We assume students are already familiar with the basics of matrix algebra, differential equations, and vector calculus. They should have a working knowledge of a programming language, and be willing to learn MATLAB.

Read more

This course covers the most important numerical methods that an engineer should know, including root finding, matrix algebra, integration and interpolation, ordinary and partial differential equations. We learn how to use MATLAB to solve numerical problems, and access to MATLAB online and the MATLAB grader is given to all students who enroll.

We assume students are already familiar with the basics of matrix algebra, differential equations, and vector calculus. They should have a working knowledge of a programming language, and be willing to learn MATLAB.

The course contains 74 short lecture videos and MATLAB demonstrations. After each lecture or demonstration, there are problems to solve or programs to write. The course is organized into six weeks, and at the end of each week, there is an assessed quiz and a longer programming project.

Download the lecture notes from the link

https://www.math.hkust.edu.hk/~machas/numerical-methods-for-engineers.pdf

And watch the promotional video from the link

https://youtu.be/qFJGMBDfFMY

Enroll now

What's inside

Syllabus

Scientific Computing
MATLAB is a high-level programming language extensively utilized by engineers for numerical computation and visualization. We will learn the basics of MATLAB: how real numbers are represented in double precision; how to perform arithmetic with MATLAB; how to use scripts and functions; how to represent vectors and matrices; how to draw line plots; and how to use logical variables, conditional statements, for loops and while loops. For your programming project, you will write a MATLAB code to compute the bifurcation diagram for the logistic map.
Read more
Root Finding
Root finding is a numerical technique used to determine the roots, or zeros, of a given function. We will explore several root-finding methods, including the Bisection method, Newton's method, and the Secant method. We will also derive the order of convergence for these methods. Additionally, we will demonstrate how to compute the Newton fractal using Newton's method in MATLAB, and discuss MATLAB functions that can be used to find roots. For your programming project, you will write a MATLAB code using Newton's method to compute the Feigenbaum delta from the bifurcation diagram for the logistic map.
Matrix Algebra
Numerical linear algebra is the term used for matrix algebra performed on a computer. When conducting Gaussian elimination with large matrices, round-off errors may compromise the computation. These errors can be mitigated using the method of partial pivoting, which involves row interchanges before each elimination step. The LU decomposition algorithm must then incorporate permutation matrices. We will also discuss operation counts and the big-Oh notation for predicting the increase in computational time with larger problem sizes. We will show how to count the number of required operations for Gaussian elimination, forward substitution, and backward substitution. We will explain the power method for computing the largest eigenvalue of a matrix. Finally, we will show how to use Gaussian elimination to solve a system of nonlinear differential equations using Newton's method. For your programming project, you will write a MATLAB code that applies Newton's method to the Lorenz equations.
Quadrature and Interpolation
The computation of definite integrals is known as quadrature. We will explore the fundamentals of quadrature, including elementary formulas for the Trapezoidal rule and Simpson’s rule; development of composite integration rules; an introduction to Gaussian quadrature; construction of an adaptive quadrature routine where the software determines the appropriate integration step size; and the usage of the MATLAB function integral.m. Additionally, we will learn about interpolation. A good interpolation routine can estimate function values at intermediate sample points. We will learn about linear interpolation, commonly employed for plotting data with numerous points; and cubic spline interpolation, used when data points are sparse. For your programming project, you will write a MATLAB code to compute the zeros of a Bessel function. This task requires the combination of both quadrature and root-finding routines.
Ordinary Differential Equations
We will learn about the numerical integration of ordinary differential equations (ODEs). We will introduce the Euler method, a single-step, first-order method, and the Runge-Kutta methods, which extend the Euler method to multiple steps and higher order, allowing for larger time steps. We will show how to construct a family of second-order Runge-Kutta methods, discuss the widely-used fourth-order Runge-Kutta method, and adopt these methods for solving systems of ODEs. We will show how to use the MATLAB function ode45.m, and how to solve a two-point boundary value ODE using the shooting method. For your programming project, you will conduct a numerical simulation of the gravitational two-body problem.
Partial Differential Equations
We will learn how to solve partial differential equations (PDEs). While this is a vast topic with various specialized solution methods, such as those found in computational fluid dynamics, we will provide a basic introduction to the subject. We will categorize PDE solutions into boundary value problems and initial value problems. We will then apply the finite difference method for solving PDEs. We will solve the Laplace equation, a boundary value problem, using two methods: a direct method via Gaussian elimination; and an iterative method, where the solution is approached asymptotically. We will next solve the one-dimensional diffusion equation, an initial value problem, using the Crank-Nicolson method. We will also employ the Von Neumann stability analysis to determine the stability of time-integration schemes. For your programming project, you will solve the two-dimensional diffusion equation using the Crank-Nicolson method.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches core scientific computing tools and foundations
Develops critical engineering numerical analysis skills
Arms learners with the coding skills to solve engineering problems
Taught by an instructor recognized for their work in computational fluid dynamics
Develops a strong foundation for learners with little to no technical background
Requires students have basic proficiency in matrix algebra, differential equations, and vector calculus

Save this course

Save Numerical Methods for Engineers to your list so you can find it easily later:
Save

Reviews summary

Numerical methods for beginners

Learners say this is a well received course that covers a range of numerical methods used in engineering. MATLAB programming is used to solve complex problems involving matrix equations and ordinary differential equations. Professor Chasnov's clear explanations and supportive approach make the course engaging and effective.
The course emphasizes practical applications of numerical methods in engineering and science.
"Excellent course material, organization, and presentation. Also a very useful course for scientists and engineers."
"The ideas are explained in easy understanding way, and the excerses well consolidate the ideas given in the lectures."
The course assumes no prior knowledge of MATLAB, making it accessible to beginners.
"This course is perfect for someone starting with numerical methods and matlab programming."
"It is good even for beginners in Matlab programming with good grip in Mathemtics/Calculus."
Engaging MATLAB assignments help reinforce concepts and build programming skills.
"MATLAB practices not too hard and very engaging."
Weekly projects provide challenging and rewarding experiences that reinforce learning.
"Great course. Assignments are challenging and fun."
"I recommend all of Dr. Chasnov's courses."
"He is a great teacher and the content is really good with supplemental resources to increase your depth of understanding."
Professor Chasnov's explanations are clear and concise, making the material easy to understand.
"Professor Chasnov explains the topics in a clear and concise way."
"The Lecturer provides a very clear, instructive and interesting set of lectures on this important topic."
"It is an excellent course in advanced numerical analysis, especially after Week 3."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Numerical Methods for Engineers with these activities:
Join a study group for the course
Collaborate with fellow students, discuss the course material, and work on assignments together to enhance understanding.
Show steps
  • Reach out to classmates and form a study group.
  • Set regular meeting times and stick to them.
  • Take turns leading discussions and presenting concepts.
Compile a collection of MATLAB resources
Gather and organize useful MATLAB resources such as tutorials, documentation, and code snippets for easy reference and future use.
Browse courses on MATLAB
Show steps
  • Search for resources online.
  • Bookmark or download relevant materials.
  • Create a central repository, such as a folder or online document.
Explore MATLAB documentation and online resources
Familiarize yourself with the MATLAB environment and its capabilities by exploring the official documentation and searching for helpful tutorials on the web.
Browse courses on MATLAB
Show steps
  • Read the MATLAB documentation on relevant topics.
  • Search for tutorials on topics you encounter while working on course assignments or projects.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Attend a MATLAB workshop or webinar
Engage with experts and learn from practical demonstrations and hands-on activities in a MATLAB workshop or webinar.
Browse courses on MATLAB
Show steps
  • Check for upcoming MATLAB workshops or webinars.
  • Register and attend the event.
  • Participate actively and ask questions for clarification.
Solve MATLAB programming problems
Practice MATLAB programming skills by solving problems and completing drills to build proficiency.
Browse courses on MATLAB
Show steps
  • Find online MATLAB exercises or tutorials.
  • Work through the problems, debugging and refining code as needed.
Build a MATLAB function for root finding
Develop a deeper understanding of root finding by creating a custom MATLAB function that implements one of the root-finding methods covered in the course.
Browse courses on MATLAB
Show steps
  • Review the theory and implementation of the chosen method.
  • Write the MATLAB code for the function.
  • Test the function with various inputs and compare results to expected values.
Write a MATLAB script to solve a system of nonlinear differential equations using Newton's method
Apply the concepts learned in class to a practical problem by creating a MATLAB script that solves a system of nonlinear differential equations using Newton's method.
Browse courses on MATLAB
Show steps
  • Formulate the system of equations.
  • Implement Newton's method in MATLAB.
  • Write a script that combines the system of equations and the Newton's method implementation.
  • Test the script with various initial conditions.
  • Plot the solutions and analyze the results.

Career center

Learners who complete Numerical Methods for Engineers will develop knowledge and skills that may be useful to these careers:
Data Scientist
Learn the most important numerical methods that an engineer should know, such as root finding, matrix algebra, integration and interpolation, and ordinary and partial differential equations.
Data Analyst
Learn how to use MATLAB to solve numerical problems.
Software Engineer
Learn the basics of MATLAB, including how real numbers are represented in double precision and how to represent vectors and matrices.
Financial Analyst
Learn how to compute definite integrals using quadrature and how to interpolate function values at intermediate sample points.
Actuary
Learn how to solve systems of nonlinear differential equations using Newton's method.
Operations Research Analyst
Develop problem-solving skills using numerical methods.
Statistician
Learn how to apply numerical methods to solve statistical problems.
Quantitative Analyst
Learn how to use numerical methods to solve financial problems.
Market Researcher
Learn how to use numerical methods to analyze market data.
Technical Writer
Learn how to write technical reports and articles about numerical methods.
Technical Support Engineer
Learn how to use numerical methods to troubleshoot technical problems.
Teacher
Learn the fundamentals of numerical methods and how to teach them to students.
Computer Programmer
Learn how to use MATLAB to write programs that solve numerical problems.
Sales Engineer
Learn how to use numerical methods to solve customer problems.
Systems Analyst
Learn how to use numerical methods to analyze and design systems.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Numerical Methods for Engineers.
Classic reference for numerical methods and is commonly used as a textbook in academic institutions. It provides detailed explanations and examples of a wide range of numerical algorithms.
Provides a comprehensive overview of matrix computations, including topics such as matrix algebra, linear systems, and eigenvalues and eigenvectors.
Covers iterative methods for large linear systems, which topic related to matrix algebra, which is covered in the course.
Covers applied numerical linear algebra, which topic related to matrix algebra, which is covered in the course.
Covers numerical methods in engineering with Python 3, which programming language not covered in the course. However, it may be useful for students who want to learn more about numerical methods using a different programming language.
Provides a broad overview of scientific computing, which is the field of study that uses computers to solve scientific problems. It may be useful for students who want to gain a broader perspective on the field.
Provides a comprehensive overview of numerical analysis, which is the mathematical foundation of numerical methods.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Numerical Methods for Engineers.
Mathematics for Engineers: The Capstone Course
Most relevant
Differential Equations for Engineers
Most relevant
Matrix Algebra for Engineers
Most relevant
Mathematical Techniques for Problem Solving in...
Most relevant
Flight Dynamics with Tensors
Most relevant
Linear Algebra II: Matrix Algebra
Most relevant
Inverse Physics Informed Neural Networks (I-PINNs)
Most relevant
Applying Differential Equations and Inverse Models with R
Most relevant
Physics Informed Neural Networks (PINNs)
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser