- Docente: Lucia Romani
- Credits: 6
- SSD: MAT/08
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Forli
-
Corso:
Second cycle degree programme (LM) in
Aerospace Engineering (cod. 6704)
Also valid for Second cycle degree programme (LM) in Mechanical Engineering for Sustainability (cod. 5980)
Second cycle degree programme (LM) in Aerospace Engineering (cod. 6704)
Second cycle degree programme (LM) in Mechanical Engineering for Sustainability (cod. 6720)
-
from Sep 15, 2025 to Dec 18, 2025
Learning outcomes
The student learns the numerical methods for differential problems. At the end of the course the student knows the numerical-mathematical aspects and the main algorithmic methodologies that deal with the numerical solution of differential problems of interest in Engineering.
Course contents
Prerequisites:
General mathematical knowledge and computer skills from completed BSc study. More precisely, prerequisites of Geometry and Algebra, Mathematical Analysis and MATLAB programming are required. Moreover, a prior knowledge of fundamental concepts and basic topics of Numerical Analysis is also needed.
Program:
1. Iterative methods for solving single nonlinear equations and systems of nonlinear equations
A review of root-finding methods for one equation in one variable: the bisection method, Newton's method, the secant method. Iterative methods for the numerical solution of systems of non-linear equations: Newton's method and Quasi-Newton methods.
2. Numerical Differentiation: Approximation of Function Derivatives by Finite Differences
Approximating the derivatives of a function by finite differences. The method of undetermined coefficients. Determining the step size that minimizes the total error associated with finite-difference derivative approximations. Increasing the accuracy of finite-difference derivative approximations by Richardson's extrapolation.
3. Numerical Integration by Gaussian Quadrature formulas
A short review of Newton-Cotes quadrature formulas and their drawbacks. Open, closed and half-closed Gaussian quadrature formulas. Numerical algorithms for computing nodes and weights of Gauss-Legendre, Gauss-Lobatto and Gauss-Radau quadrature formulas.
4. Numerical methods for solving ODE-IVPs
Ordinary Differential Equations (ODEs) and Initial Value Problems (IVPs). Existence, uniqueness and stability of solutions. One-step numerical methods for ODE-IVPs: Runge-Kutta methods with a fixed step length (in all possible variants) and adaptive Runge-Kutta methods. Accuracy and stability of numerical methods for ODE-IVPs. Stiff problems.
5. Numerical methods for solving ODE-BVPs
Two-point Boundary Value Problems (BVPs) involving second-order linear/non-linear ODEs. Numerical solution via Finite Difference methods and Shooting methods.
Readings/Bibliography
Recommended books for further reading:
[1] J. Kiusalaas: Numerical Methods in Engineering with MATLAB, 3rd ed., Cambridge University Press, 2015.
[2] K. Atkinson, W. Han, D. Stewart: Numerical Solution of Ordinary Differential Equations, John Wiley and Sons, 2009.
[3] A. Quarteroni, R. Sacco, F. Saleri: Numerical Mathematics, 2nd ed., Springer, 2007.
[4] R.J. LeVeque: Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM, 2007.
[5] U.M. Ascher, L.R. Petzold: Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations, SIAM, 1998.
To fill any knowledge gaps related to the prerequisites of Numerical Analysis and/or to the fundamentals of MATLAB programming it is advisable to consult:
[1] E. E. Mikhailov: Programming with MATLAB for Scientists: A Beginner’s Introduction, CRC Press, Inc., 2017.
[2] A. Quarteroni, F. Saleri, P. Gervasio: Scientific Computing with MATLAB and Octave (4th edition), Springer, 2014.
[3] C. Moler: Numerical Computing with MATLAB, SIAM, 2004.
[4] J. Stoer, R. Bulirsch: Introduction to Numerical Analysis (3rd ed.), Springer, 2002.
[5] C.T. Kelley: Iterative Methods for Linear and Nonlinear Equations, SIAM, 1995.
Teaching methods
The course is structured in lectures and exercises in the computer laboratory. More precisely, the lectures on the numerical methods for differential problems described by ordinary differential equations are followed by laboratory exercises aimed at implementing these methods in MATLAB and developing an adequate sensitivity and awareness of their use.
In consideration of the type of activity and of the adopted teaching methods, the attendance of this training activity requires the prior participation of all students in Modules 1 and 2 of Health and Safety training courses [https://elearning-sicurezza.unibo.it/?lang=en] in e-learning mode.
Assessment methods
The end-of-course exam aims to verify the achievement of the following educational objectives:
- knowledge of the numerical-mathematical aspects and of the main algorithmic methodologies that deal with the numerical solution of differential problems described by ordinary differential equations;
- ability to develop numerical methods and write computational programs in a MATLAB environment to solve differential problems of common interest in engineering by using a computer.
The end-of-course exam (the evaluation of which is in thirtieths) will take place in the computer laboratory. The student has 120 minutes to solve two exercises that include both the development of MATLAB codes for the numerical solution of differential problems and the written answer to theoretical questions on the topics covered in the lessons.
During the exam the use of textbooks, notes and computer supports is not allowed.
To participate in the exam the student must register (at least 2 days in advance) in the lists available on the AlmaEsami web platform. On the day of the exam the student will be able to access the laboratory and take the test only after showing an identification document.
The dates of the exams can be consulted on the AlmaEsami web platform of the University of Bologna and are visible several months in advance.
Clarifications on the recording of the exam grade for those who have the NUMERICAL ANALYSIS course (6 CFU) as a module of the integrated course of NUMERICAL AND MATHEMATICAL METHODS FOR ENGINEERING (12 CFU)
If the NUMERICAL ANALYSIS course (6 CFU) is one of the two modules that, together with MATHEMATICAL METHODS FOR ENGINEERING (6 CFU), constitutes the integrated course of NUMERICAL AND MATHEMATICAL METHODS FOR ENGINEERING (12 CFU), the grade that will be recorded will be calculated with the arithmetic average of the single grades that the student has obtained in the two modules. It should be noted that the result of the average will be rounded to the nearest integer. Only if the resulting average is exactly equidistant between two integers, the grade will be obtained by rounding up to the next highest integer. Moreover, in order to obtain the "30 cum laude" final evaluation, the student must be in one of the two following cases:
- receiving "30 cum laude" in both modules;
- obtaining "30 cum laude" in one module and 30 in the other one.
Lastly, it should be noted that the recording of the final evaluation requires the passing of both the exam of NUMERICAL ANALYSIS (6 CFU) and the exam of MATHEMATICAL METHODS FOR ENGINEERING (6 CFU) in a time interval not exceeding 12 months.
Students with special educational needs related to learning disorders and/or disabilities are invited to contact the responsible office (see https://site.unibo.it/studenti-con-disabilita-e-dsa/en) as soon as possible, so that they can propose suitable adaptations to be submitted to the lecturer at least 15 days before the exam date.
Teaching tools
LCD projector and PC are used in addition to the traditional blackboard.
The course includes also a laboratory activity in which the MATLAB software will be used.
PDF files of slideshows, examples and solved exercises will be made available on the online platform Virtuale at https://virtuale.unibo.it/
Office hours
See the website of Lucia Romani
SDGs


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.