Numerical Methods for Engineers
The Hong Kong University of Science and Technology via Coursera
-
7.5K
-
- Write review
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
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
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.
- 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.
Taught by
Jeffrey R. Chasnov
Tags
Reviews
4.9 rating, based on 75 Class Central reviews
4.9 rating at Coursera based on 432 ratings
Showing Class Central Sort
-
This course was well-paced and covered all the required mathematics in short for. The MATLAB problems were helpful in understanding and applying the concepts explained. Even as a working professional, I was able to complete this course at my pace. I recommend this course if you want to learn scientific computing and MATLAB programming.
-
It is helpful in learning what we had syllabus know, we can understand more clearly from this course . And I learning some coding, logical problem. And I get more intrest in this course
-
I entered PhD course, but my background in advanced math was very bad. I required to learn MATLAB, but I completely forgot linear algebla and even didn't know how to solve ordinary and partial differential equations. With the courses of Professor Chasnov I was able to increase my knowledge in 5 months. First was Linear algebra, then vector calculus, then differential equations. Numerical methods for engineers was my 4th course which is taught by Professor Chasnov. It wasn't easy, but now I can successfully implement obtained knowledge and MATLAB skills in my studies. Thank you very much professor Chasnov!
-
this course was very helpful for me to understand the numerical methods and formula and their wide range of applications
-
found Coursera's Numerical Methods and Analysis courses to be very insightful and well-structured for learners with a mathematical background. The content provided a strong balance between theoretical understanding and computational application, whi…
-
this course really helped me understand the concepts of numerical methods and MATLAB helped with the solutions
-
The instructor is one of the best teacher I have ever seen.
The topic is complex, but he is able to deliver with easy. the 'trick' of the whiteboard on screen helps a lot.
Well done. -
This course gave me a solid foundation in numerical methods, especially for solving PDEs and stability analysis. The explanations were clear, the examples were practical, and the quizzes helped reinforce key concepts. I’d definitely recommend it to engineering students or anyone working with computational models.
-
I believe the course is quite well because of the fact that the topic is quite interesting. Learning the computational method and solving the ordinary differential equations and partial differential equations with the support of MATLAB, I think it is not only useful, but also playful and interesting despite I think programming is quite abstract for me.
At the same time, I think the course schdeule and syllabus is quite clear and well-structured since I can clearly understand what do I have to learn in this course. -
it is quite nice to have zoom blended learning, we can adjust our time to watch the tutorial. we can pause and rewatch if we cannot catch up. it is clear to demonstrate the course material by written in the whiteboard in this way, followed by explaining.
However, sometimes it is really confused by writing the code, there is no idea where to get it wrong, and no tips for the questions. -
This course on Numerical Methods for Engineers by HKUST via Coursera is a fantastic resource! It covers key concepts with clear examples and practical applications. The lectures are engaging, and the exercises reinforce learning effectively. Highly recommended for engineering students seeking a solid foundation. (132 characters)
-
This is a very good course with excellent explanations and well-chosen exercises that allow you to understand and apply what you have learned.
-
The content is appropriate but for the matlab assignment, it is better to have more instrucstions like the step how to write the code base on the steps.
-
The course was very well laid out for an online course. It was paced very well and had a good lecture-to-problem-solving ratio.
-
I recently attended a lecture by [Joshua Chasnov], and I was thoroughly impressed. The session was well-structured, informative, and engaging. The lecturer explained complex topics with clarity and provided real-life examples that made the concepts easy to understand. Their teaching style kept me interested throughout, and I felt more confident in the subject after the session. It’s rare to come across someone who combines subject expertise with excellent communication skills. I would highly recommend their lectures to anyone looking to gain a deeper understanding. I genuinely appreciate the effort and dedication they put into teaching. Thank you!
-
Great MATLAB course — clear explanations, practical examples, and engaging exercises. Highly recommend!
-
This is my third course on Engineering Mathematics from the same instructor and I have learnt a lot from this course which is vital for research application. The presentation is detail, elaborative and easy to understand. I think any learner will be benefitted much from this course.
-
Excellent course on the numerical methods.
This course covers vast amount of numerical methods, from the
fundamentals of number representations in computer programs
to algorithms of interpolation and differentiation, to advanced
topics of numerical solutions to ODEs and PDEs. The methods
learned can be directly put into practice to solve engineering and
physics problems. Emphasis also put on MATLAB/Octave
programming with the algoritmhs learned so students can see
the concrete results/visualization. -
A thorough grounding in Numerical methods and how to program them using Matlab. Really excellent course. Highly enjoyed it.
-
The course is well suited for solving engineering problems with numerical/computational techniques. Very in-depth course.