Topic outline
-
-
Course Description:
This course aims to introduce students to the fundamental principles of numerical methods and computer programming. It will cover the basic concepts of numerical analysis, approximation methods, and algorithms commonly used in solving numerical problems. Students will also have the opportunity to develop their programming skills through practical exercises.
Course Objectives:
- Understand the fundamental concepts of numerical analysis.
- Be able to apply different numerical methods to solve mathematical problems.
- Acquire programming skills using a language suitable for numerical analysis.
- Know how to evaluate the efficiency and accuracy of the numerical methods used.
Course Content:
Basic syntax of a programming language
Numerical Integration
- Trapezoidal Method
- Simpson's Method
Solving Nonlinear Equations
- Bisection Method
- Newton-Raphson Method
Solving Ordinary Differential Equations
- Euler's Method
- Second-Order Runge-Kutta Method
- Fourth-Order Runge-Kutta Method
Solving Linear Systems
- Jacobi Method
- Gauss-Seidel Method
Evaluation:
- Practical Exam: 50%
- Final Exam: 50%
-
Numerical Method: A method that allows solving mathematical problems using algorithms instead of analytical methods.
Algorithm: A sequence of instructions that solves a given problem.
Iteration: A set of instructions and operations that are repeated a certain number of times.
Variable: A symbol used to represent a value that changes during the execution of a program.
Function: A collection of instructions grouped under a specific name, designed to perform a specific task.
-
-
-
Engineers are constantly confronted with concrete problems in their respective fields. The majority of these problems can be formulated as mathematical problems (such as solving an equation, calculating an integral, and so on), and the majority of these problems are not resolvable by traditional analytical methods, or we are convinced that it will take a long time to solve them analytically if this is not possible, that is why we then resort to numerical methods.
For example, the integrals
and
cannot be calculated using classical methods such as integration by parts, substitution, etc. Using a numerical method, this type of integration can be approximated numerically with a given accuracy.Over the past few decades, numerous algorithms based on theoretical studies have been developed to solve various mathematical problems. This course is designed for second-year students of Material Science. It constitutes an introduction to numerical calculation and consequently to the different techniques that these students will frequently have to use, without delving into the theoretical considerations and foundations of the methods presented. Indeed, we have described the most well-known and widely used numerical methods for solving various problems encountered during their studies, focusing on the practical aspects in the presentation of these methods.
In this booklet, each section is followed by detailed examples, and at the end of each chapter, students are encouraged to work on additional exercises. The course is structured into five main chapters: The first chapter is dedicated to numerical integration. The second chapter covers two methods of polynomial interpolation. The third chapter focuses on the numerical solution of nonlinear equations. The fourth chapter describes numerical techniques for solving ordinary differential equations. Finally, the last chapter is dedicated to methods for solving systems of linear equations.
-
-
Often, the explicit computation of the integral of a continuous function over an interval of can be very expensive or cannot be solved analytically. To overcome these difficulties, we use numerical methods to calculate an approximation of an integral
In this chapter, we present two common integration techniques: Trapezoidal method and Simpson method. Using these algorithms, we can even approximate the integral of functions known only through discrete data points.
-
Here is a MATLAB (Scilab) code of the trapezoidal rule for numerical integration.
-
Here is a MATLAB (Scilab) code of the trapezoidal Simpson's rule for numerical integration.
-
This file contains some solved exercises.
-
Dear students, if you have any questions about Chapter 1, please feel free to contact me.
Best regards. -
This file contains some test questions. The students have to answer them before 10th June 2025.
-
In mathematics and applied sciences, nonlinear equations play a crucial role in modeling complex phenomena across various disciplines. Unlike linear equations, which can be solved analytically using algebraic methods, finding exact solutions for nonlinear equations is often difficult or even impossible.
For example, consider the equation:
It is evident that solving this equation analytically would be extremely time-consuming, if not impossible. These types of equations, known as nonlinear (transcendental) equations, can instead be solved numerically using methods that allow us to compute approximate roots with a specified level of precision.
In this chapter, we will explore two numerical methods for solving nonlinear univariate equations of the form .
-
This video explains the principle of the Bisection (Dichotomy) method.
-
Example of MATLAB code for implementing the bisection method for numerical solution of a nonlinear equation.
-
This video explains the principle of the Newton-Raphson method.
-
Example of MATLAB code for implementing the Newton- Raphson method for numerical solution of a nonlinear equation.
-
This file contains some solved exercises.
-
Dear students, if you have any questions about Chapter 2, please feel free to contact me.
Best regards.
-
This file contains some test questions. The students have to answer them before 10-th June 2025.
-
Many challenges in science and engineering can be reduced to the task of solving differential equations while satisfying certain predefined conditions. Traditional analytical techniques, which are assumed to be understood by the reader, are suitable for solving only a subset of these equations. However, the differential equations that govern the behavior of physical systems often lack closed-form solutions. Therefore, it is crucial to use numerical methods to solve these problems.
In this chapter, we will study three methods for the numerical solution of a first-order ordinary differential equation: the Euler method, the second-order Runge-Kutta method (Heun), and the fourth-order Runge-Kutta method.
-
This video explains the principle of the Euler method.
-
This file contains some test questions. The students have to answer them before 10-th June 2025.
-
In practice, engineers often encounter problems whose solution requires solving a system of linear equations that models the problem under consideration. For example, determining currents and voltages in electrical networks requires solving a system of linear equations. That is, we seek the vector , where , which is the solution of the following linear system:
This system admits a unique solution when the determinant of is nonzero, which we will assume below. Solving this system using direct methods becomes impractical when is relatively high. Therefore, it is preferable to use numerical methods that construct a sequence converging to the solution of the system.
In this chapter, we present two numerical methods that provide approximate solutions to systems of linear equations using a linear function such that
These methods are easy to implement, require minimal memory, and produce results with the desired accuracy.
-
Here is a MATLAB (Scilab) code of the Jacobi method for solving systems of linear equations
-
Here is a MATLAB (Scilab) code of the Gauss-Seidel for solving systems of linear equations.
-
This file contains some solved exercises.