Numerical Methods for Engineers
The Hong Kong University of Science and Technology via Coursera
-
7.5K
-
- Write review
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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 73 Class Central reviews
4.9 rating at Coursera based on 422 ratings
Showing Class Central Sort
-
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.
-
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
-
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!
-
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.
-
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.
-
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!
-
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.
-
It was the best course, I've understood maximum concept on numerical method, I would like to look forward on further courses on other topics to understand the concepts even more just like this
-
It was the best course, I've understood maximum concept on numerical method, I would like to look forward on further courses on other topics to understand the concepts even more just like this
-
All good, I understand a lot of things in this course about numerical method, I would be looking forward to the further more course such like this to improve my skills