cod. 1010794

Academic year 2023/24
3° year of course - Second semester
- Ivano AZZINI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
A scelta dello studente
Type of training activity
Student's choice
24 hours
of face-to-face activities
3 credits
hub: PARMA
course unit

Learning objectives

The course aims to resume and expand the fundamentals of MATLAB programming, with a focus on numerical and applied aspects.

Specifically, by the end of the course students are expected to:

- be able to write and debug MATLAB code following structured programming principles and best practices;
- know the main data types in MATLAB and how numeric types are represented;
- be able to use the main MATLAB functions for numerical linear algebra;
- be able to create 2D and 3D plots;
- be able to carry out simple data analyses;
- be able to independently expand the acquired knowledge and skills.


None. Attendance of the course "Introduzione a MATLAB" and a general knowledge in Mathematics are recommended but not strictly necessary prerequisites.

Course unit content

In the first part of the course general programming notions will be resumed and examined in more depth.
In the second part, it will be shown how to use MATLAB for solving linear algebra problems, for visualisation and data analysis.

Full programme

• 01/03: Introduction. Coding good practices: structured programming in MATLAB; functions and code modularity. Debugging: basic methods and MATLAB IDE.
• 08/03: Types and data structures: overview of the main MATLAB types; MATLAB numerical types, casting. Machine numbers: floating point representation; machine epsilon and precision; error propagation; chopping and rounding; cancellation; overflow and underflow; well-posedness of a problem and conditioning number.
• 15/03: Working with matrices: resuming arrays and matrix-vector, matrix-matrix and vector-vector operations; solving linear systems; inverting a matrix; applications.
• 22/03: Again on matrices: eigenvalues and eigenvectors; singular value decomposition; applications.
• 12/04: Visualisation: resuming 2D plots; types of plots; options; subplots; 3D plots; surface plot of a scalar function of two real variables.
• 19/04: Again on visualisation: parametric curves and surfaces; vector fields; exporting MATLAB plots.
• 26/04: Data analysis: importing and exporting data in various file formats; explorative analysis; plots and summary statistics.
• 03/05: Again on data analysis: statistical hypothesis tests; linear regression; applications.


Course notes provided by the instructor and documentation available on the website

For a more in-depth study:
- A. Quarteroni, R. Sacco, F. Saleri, "Matematica numerica"
-Riani Marco, Corbellini Aldo, Laurini Fabrizio, Morelli Gianluca,Proietti Tommaso, Fibbi Edoardo, Perrotta Domenico, Torti Francesca, "Data Science con MATLAB", Seconda Editione.

Teaching methods

Theory will be presented in lectures, at the blackboard and/or through the presentation of slides. Practical coding sessions will complement each lecture.

Assessment methods and criteria

Coding test, consisting of exercises similar to those assigned during the course.

Other information

- - -