Programming Numerical Methods in Python
4.5 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
12 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Programming Numerical Methods in Python to your Wishlist.

Add to Wishlist

Programming Numerical Methods in Python

A Practical Approach to Understand the Numerical Methods
4.5 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
12 students enrolled
Created by Murad Elarbi
Last updated 8/2017
English
Curiosity Sale
Current price: $10 Original price: $180 Discount: 94% off
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • 8 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Program the numerical methods to create simple and efficient Python codes that output the numerical solutions at the required degree of accuracy.
  • Create and manipulate arrays (vectors and matrices) by using NumPy.
  • Use the plotting functions of matplotlib to present your results graphically.
  • Apply SciPy numerical analysis functions related to the topics of this course.
View Curriculum
Requirements
  • You should have a good background in algebra and calculus, in addition to the basic knowledge about computers
  • A Python IDE and its libraries NumPy, matplotlib and SciPy should be installed on your computer.
  • No previous experience in programming in Python is required.
Description

Many of the Numerical Analysis courses focus on the theory and derivations of the numerical methods more than the programming techniques. Students get the codes of the numerical methods in different languages from textbooks and lab notes and use them in working their assignments instead of programming them by themselves.

For this reason, the course of Programming Numerical Methods in Python focuses on how to program the numerical methods step by step to create the most basic lines of code that run on the computer efficiently and output the solution at the required degree of accuracy.

This course is a practical tutorial for the students of Numerical Analysis to cover the part of the programming skills of their course.

In addition to its simplicity and versatility, Python is a great educational computer language as well as a powerful tool in scientific and engineering computations. For the last years, Python and its data and numerical analysis and plotting libraries, such as NumPy, SciPy and matplotlib, have become very popular programming language and tool in industry and academia.

That’s why this course is based on Python as programming language and NumPy and matplotlib for array manipulation and graphical representation, respectively. At the end of each section, a number of SciPy numerical analysis functions are introduced by examples. In this way, the student will be able to program his codes from scratch and in the same time use the advanced library functions in his work.

This course covers the following topics:

  • Roots of High-Degree Equations
  • Interpolation and Curve Fitting
  • Numerical Differentiation
  • Numerical Integration
  • Systems of Linear Equations
  • Ordinary Differential Equations
Who is the target audience?
  • The students who currently study their first course in numerical methods and need to understand how the methods are coded in detail.
  • The students who need to create their own numerical analysis codes or use Python numerical libraries for their course, project or thesis works.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
53 Lectures
11:22:46
+
Introduction
1 Lecture 04:50

An introduction to numerical methods, advantages of Python, course goals, course audience, course requirements, how to get the Python IDE and course contents. At the end of this lecture the student will know the knowledge and skills that he will learn in this course. He will know how to install the Python IDE and required modules on his computer.

Preview 04:50
+
Roots of High-Degree Equations
9 Lectures 01:58:50

Simple Iterations Method: Code I (for Loop)
26:25

Simple Iterations Method: Code II (while Loop)
14:22

Convergence vs Divergence
05:53

Newton-Raphson Method
15:28

Bisection Method: Algorithm
11:45

Bisection Method: Code
17:29

User-Defined Functions & Run-Time Input
11:02

Root Finding in SciPy & Summary
10:46
+
Interpolation and Curve Fitting
12 Lectures 02:20:58

Lagrange's Method: Algorithm
07:31

Lagrange's Method: Code
17:33

Newton's Method: Algorithm
10:58

Newton's Method: Code
16:05

Linear Regression: Algorithm
04:08

Linear Regression: Code I (for Loop)
08:16

Linear Regression: Code II (NumPy Arrays)
08:28

Polynomial Fit: Algorithm
04:43

Polynomial Fit: Code
24:00

Interpolation Functions of SciPy
08:58

Curve Fitting Functions of SciPy & Summary
14:53
+
Numerical Differentiation
5 Lectures 01:02:41
Introduction and Finite Differences Method
12:05

Finite Differences Method: Code I
11:30

Finite Differences Method: Code II
11:26

Plotting Derivative Curves
17:40

Numerical Differentiation Function in SciPy & Summary
10:00
+
Numerical Integration
9 Lectures 01:28:36
Introduction & Trapezoidal Rule: Algorithm
07:38

Trapezoidal Rule: Code
11:57

Simpson's 1/3 Rule: Algorithm
07:21

Simpson's 1/3 Rule: Code
08:17

Simpson's 3/8 Rule: Algorithm
05:27

Simpson's 3/8 Rule: Code
09:41

Double Integration: Algorithm
07:54

Double Integration: Code
16:01

Quadrature in SciPy & Summary
14:20
+
Systems of Linear Equations
9 Lectures 02:29:18
Introduction & Gauss Elimination Method: Algorithm
26:00

Gauss Elimination Method: Code I (Elimination)
21:09

Gauss Elimination Method: Code II (Back-Substitution)
21:40

Gauss Elimination Method: Code III (Modifications)
16:38

Jacobi's Method: Algorithm
07:14

Jacobi's Method: Code
32:07

Gauss-Seidel's Method
10:48

Diagonal Dominance
05:06

Linear System Solution in NumPy and SciPy & Summary
08:36
+
Ordinary Differential Equations
8 Lectures 01:57:33
Introduction & Euler's Method
16:22

Second Order Runge-Kutta's Method
08:21

Fourth Order Runge-Kutta's Method
08:37

Fourth Order Runge-Kutta's Method: Plot Numerical and Exact Solutions
15:57

Higher-Order ODE's: Algorithm
08:27

Higher-Order ODE's: Code
22:52

Higher-Order ODE's: Plotting Solutions
20:11

ODE Solution in SciPy & Summary
16:46
About the Instructor
Murad Elarbi
4.5 Average rating
1 Review
12 Students
1 Course
Mechanical Engineer, Lecturer

I am a Mechanical Engineering Lecturer in the University of Benghazi, Libya since 2005. I taught courses of Strength of Materials, Theory of Machines, Machine Design Projects and Engineering Drawing. My research interest is the computational mechanics where numerical methods and computer programming are the main tools of solution in addition to theories of mechanics. I instructed several computer language training courses of BASIC, Fortran, C++ and MATLAB. Currently, I am in the USA for the Ph.D. degree.