- Docente: Alessandro Lanza
- Credits: 3
- Language: Italian
- Moduli: Alessandro Lanza (Modulo 1) Germana Landi (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Environmental Engineering (cod. 9198)
Learning outcomes
Natural phenomena of physical interest, as well as artificial industrial processes, are modelled by complex systems that hardly ever admit an analytical solution from the mathematical point of view. Computational methods allow us to approach the problem and to find a solution efficiently, albeit in an approximate form. In order to understand the potentialities and limitations of these computational methods, it is of fundamental importance to analyze their accuracy and understand aspects such as stability, efficiency and robustness of a numerical scheme. The course aims to introduce fundamental concepts of numerical analysis, emphasizing applicability and limitations of the basic numerical algorithms used to provide solutions to common problems in science and engineering. On successful completion of the course, students will be able to understand common numerical methods, how they are used to obtain approximate solutions to otherwise intractable mathematical problems, how to apply the knowledge of these methods to solve practical problems with the aid of a scientific computation software and, finally, to critically evaluate the results obtained.
Course contents
Course contents (divided by module):
Module 1 (20 hours):
- Hints on the representation of finite numbers on a computer; problem conditioning and algorithm stability.
- Introduction to programming in MATLAB (part 1):
- introduction to MATLAB as MATrix LABoratory;
- programming elements in MATLAB.
- Solution of systems of linear equations. Direct methods:
- LU factorization of a matrix, Gaussian elimination
method, pivoting strategies;
- Cholesky method;
- MATLAB exercises on direct methods
Module 2 (10 hours):
- Introduction to programming in MATLAB (part 2):
- Graphics in MATLAB;
- Reading and writing data in MATLAB.
- Approximation (fitting) of data:
- least squares criterion, with MATLAB exercises.
Readings/Bibliography
Books suggested (for in-depth study of the topics of the course):
- A. Quarteroni, R. Sacco, F. Saleri, "Matematica Numerica", Springer (2008);
- A. Quarteroni, F. Saleri, "Calcolo Scientifico. Esercizi e problemi risolti con Matlab e Octave", Springer (2008);
- G. Naldi, L. Pareschi, "Matlab. Concetti e progetti", Apogeo (2007), or Morzenti, A. Campi, E. Di Nitto, P. Spoletini, D. Loiacono, "Introduzione alla programmazione in Matlab", Esculapio (2011).
Teaching methods
Theoretical lectures and guided laboratory exercises (Matlab).
Given the type of activity and teaching methods adopted, the attendance of this course requires the prior participation of all students in the training modules 1 and 2 on safety in the study places ( https://elearning-sicurezza.unibo. it/ ) in e-learning mode.
Assessment methods
Attendance to the lessons is not mandatory nor will it be considered for the final evaluation, but it is highly recommended to maximize the teaching impact and to easy the students' learning.
The final exam (on the arguments of both modules) consists of a practical test containing exercises that require the analysis and preparation of Matlab codes. The test is aimed at ascertaining the skills acquired in solving mathematical problems using numerical methods implemented in Matlab.
Personal notes, codes and texts are not allowed in the test.
The test will assign a score from 0/30 to 30/30. The test is passed with a minimum score of 18/30.
Teaching tools
Slides provided by the teacher. The teaching material will be available on the University of Bologna e-learning platform (https://virtuale.unibo.it).
Office hours
See the website of Alessandro Lanza
See the website of Germana Landi
SDGs

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