Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

The Hong Kong University of Science and Technology

Numerical Methods for Engineers

The Hong Kong University of Science and Technology via Coursera

Overview

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 to be completed.

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 widely used by engineers for numerical computation and visualization. We will learn the basics of MATLAB. We learn how real numbers are represented in double precision and how to do perform arithmetic with MATLAB. We learn 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. Your programming project will be to write a MATLAB code to compute the bifurcation diagram for the logistic map.
  • Root Finding
    • Root finding is a numerical technique to find the roots, or zeros, of a given function. We learn the Bisection method, Newton's method and the Secant method. We derive the order of convergence of these methods. The computation of the Newton fractal using Newton’s method is demonstrated in MATLAB, and we discuss MATLAB functions that can find roots. Your programming project will be to write a MATLAB code using Newton's method to compute the Feigenbaum delta from the bifurcation diagram for the logistic map.
  • Matrix Algebra
    • Matrix algebra done on a computer is called numerical linear algebra. When performing Gaussian elimination with large matrices, round-off errors can ruin the computation and must be handled using the method of partial pivoting, where row interchanges are performed before each elimination step. The LU decomposition algorithm then includes permutation matrices. We introduce operation counts, and teach the big-Oh notation for predicting the increase in computational time with larger problem size. We show how to count operations for Gaussian elimination and forward and backward substitution. The power method for computing the largest eigenvalue of a matrix is explained. We show how to use Gaussian elimination to solve a system of nonlinear differential equations using Newton's method. Your programming project will be to write a MATLAB code that applies Newton's method to the Lorenz equations.
  • Quadrature and Interpolation
    • The computation of definite integrals is called quadrature. We learn the basics of quadrature, including the elementary formulas for the Trapezoidal rule and Simpson's rule, and how these formulas can be used to develop composite integration rules. We learn about Gaussian quadrature, and how to construct an adaptive quadrature routine in which the software itself determines the appropriate integration step size. We learn how to use the MATLAB function integral.m. We also learn about interpolation. Given a sample of function values, a good interpolation routine will be able to estimate the function values at intermediate sample points. Linear interpolation is widely used, particularly when plotting data consisting of many points. We develop the more sophisticated method of cubic spline interpolation, to be used if the sample points are sparse. Your programming project will be to write a MATLAB code to compute the zeros of a Bessel function. This requires combining both quadrature and root-finding routines.
  • Ordinary Differential Equations
    • We learn about the numerical integration of ordinary differential equations (ODEs). The most basic method is called the Euler method, which is a single-step, first-order method. We learn about the Runge-Kutta methods, which extend the Euler method to multiple steps and higher order, and have the advantage of taking larger time steps. We show how to construct a family of second-order Runge-Kutta methods, and introduce the widely-used fourth-order Runge-Kutta method. These methods are easily adopted for solving systems of ODEs. We show you how to use the MATLAB function ode45.m, and how to solve a two-point boundary value ODE using the shooting method. Your programming project will be the numerical simulation of the gravitational two-body problem.
  • Partial Differential Equations
    • We learn how to solve partial differential equations (PDEs). This is a vast topic, and research areas such as computational fluid dynamics have many specialized solution methods. Here, we only provide a taste of this subject. We divide the numerical solutions of PDEs into boundary value problems and initial value problems, and apply the finite difference method of solution. We show how to solve the Laplace equation, a boundary value problem using two methods: a direct method by Gaussian elimination; and an iterative method, where the solution is approached asymptotically. We show how to solve the one-dimensional diffusion equation, an initial value problem by the Crank-Nicolson method. We show how to use the Von Neumann stability analysis to determine the stability of our time-integration schemes. Your programming project will the solution of the two-dimensional diffusion equation using the Crank-Nicolson method.

Taught by

Jeffrey R. Chasnov

Reviews

5.0 rating, based on 36 Class Central reviews

4.9 rating at Coursera based on 244 ratings

Start your review of Numerical Methods for Engineers

  • Anonymous
    This is probably the best course I have taken on coursera. It delves into sufficient depth to be meaningful and to encourage further learning as compared to most other courses where no mathematical depth is provided. Additionally, the virtual tools are used extremely effectively in a way that learning does not feel like a chore. Moreover, the way Dr Chaznov connects the topics to broader ideas such as in the case of Fractyls is particularly fascinating and further adds to the appeal of the course. Some additional reading material would be very highly appreciated though for those who wish to go in further detail.
  • Profile image for Allaev Sherzod
    Allaev Sherzod
    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!
  • Anonymous
    As a STEM enthusiast and a former university student who studied plenty of graduate-level courses for the Bachelor of Art, I have plenty of things to say about the structure of your courses:

    (1) All courses are brilliant and interactive.
    (2) Great and challenging assessments.
    (3) Also very interesting share of experience from fields of physics, which is something I would like to learn more about.

    Hope to follow up and also learn more from your other courses!
  • Anonymous
    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.
  • Numerical Methods for Engineers Organized by The Hong Kong University of Science and Technology through Coursera online class is very significant course to all engineering students of higher learning. i would like to recommend this course to all engineering students to refresh his/her brain
  • Anonymous
    P​rof. Chasnov is one the best math's teacher I've ever known. Although I prefer Python, the course was great especially in descripting mathematical foundations. Thanks a lot!
  • Anonymous
    I have learned a lot through out the length of this course. It helpled me understand every lesson throughly. the mathlab works are very helpful. thank you very much
  • Anonymous
    As always, Prof. Jeff lecture the courses in the way easy to understand. I have completed three of the five courses, can't waiting to start the next one. Thanks Jeff!
  • Anonymous
    Great experience .The course was relevant to the area.Thanks very much for everything.
    Great efforts and great courses and content
  • Anonymous
    Another excellent course from Prof. Chasnov. Very thorough intro to Numerical Analysis. Very easy to follow book and lectures.
  • Anonymous
    It is a brilliant course! It's very well organized, step-by-step, clear, and helpful. I learned a lot from it.
  • Anonymous
    This course teaches you basic programming for calculating different complex maths and good for application.
  • Anonymous
    Awesome course!
    The content is well organised and builds up to the final project. I started this course hoping to learn how to solve the 2D diffusion equation by iterative approaches such as SOR and Red-Black ordering to run in devices with low computation and memory resources. The final project stops a step before this but teaches all that I would need to implement my solution. I appreciate the effort put in this course and it's preliminary courses (Matrix Algebra for Engineers, Differential Equations for Engineers and Vector Calculus for Engineers).
    Thanks to the entire team that put this together. I will definitely be buying my well earned certificate for this :)
  • Anonymous
    Another great course by Professor Chasnov. Challenging at times, but I learned a lot through lectures, readings, and MATLAB programming assignments. A really great course if you haven't studied much in the way of numerical methods before, and want to learn a lot about it. Make sure to take a look at the prerequisites before diving in though.
  • Anonymous
    It's a very useful course with educational and practical exercises. Professor Chasnov teaches with much clarity and enthusiasm. The concepts are widely used in academic areas and the student will be ready to take and advanced course in his/her field.
  • Anonymous
    Excellent and detailed explanation about how to use numerical methods to solve math and physical problems. Also, teach us how to do programming in MATLAB. If you have some background in using MATLAB every week's coding project may not be so difficult.
  • Anonymous
    This course helped me understand more of my lessons from my course, numerical solutions to engg problems. I love the matlab applications of the lessons and the lectre videos are very precise and not boring to listen to at all.
  • Profile image for Adans Iraheta Marroquín
    Adans Iraheta Marroquín
    I did find this course very important by the content about numerical methods. The explanations of Professor Jeff Chasnov has note 10!!!
    The introduction to use MATLAB is great!!!
    Thanks very much for all!!!
  • Anonymous
    Thank you for everything! I've learned a lot from this course. I've enjoyed interacting with my classmates and we've gained a lot of learnings from this course, Numerical Methods for Engineers.
  • Anonymous
    Great course with good examples. Looking forward to other courses related to this. Thank you.
    The Matlab coding did gave some trouble. But the theory was very well explaned.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.