20410560-2 - MODULO B - MATLAB programming

Acquire the ability to implement high-level programs in the interpreted language MATLAB. Understand the main constructs used in MATLAB and its application to scientific computing and data processing scenarios.

Curriculum

teacher profile | teaching materials

Programme

MATLAB desktop, command window, workspace, current folder, command history, MATLAB help, windows and preferences. Workspace management, loading/saving variables from/on file. Array Editor, manual editing of variables. Script Editor, basic commands for opening/saving/modifying script files.
Mathematical expressions, numbers and format, variables, display format, variable assignment, mathematical functions as operands, arithmetic operators, mathematical functions as operators, ordering modifiers, conversion functions.
Vectors and bidimensional matrices, building vectors and matrices, loading vectors and matrices, functions for vector/matrix generation (zeros, ones, rand, randn, eye etc.), concatenation, transposition, vector length, matrix dimension, matrix arithmetical operations, element-by-element operations, matrix functions, element-by-element functions, accessing/changing/deleting entries or blocks of matrices.
Norm of vectors and matrices, operator “:”, aggregate functions, indexing of vectors and matrices, single/double index, vectorial index. Boolean variables, relational operators, logical operators, logical expressions on scalars, vectors and matrices, logical indexing.
Multidimensional numerical arrays, characters and strings, function “char”. Cell array, cell array indexing, cell access, access to the cell content, function “cell”. Structure, function “struct”, structure indexing, access to the structure fields.
Polynomials, evaluation of polynomials, sum/difference/product/division of polynomials, polynomial derivation, polynomial roots, polynomials from the roots. Complex numbers, imaginary unit, building complex numbers, Cartesian and polar representation of complex numbers. Numerical sequences and series.
Graphical objects, types and hierarchy, handles. Reading/writing object properties, finding property values, copying/deleting objects. “Figure” objects, “Axes” objects, “Line” objects.
Colours, RGB representation. 2D graphics: function "plot" and "subplot", drawing points and lines on axes, plotting mathematical functions, plotting complex numbers, drawing multiple lines with matrices, plotting 2D parametric curves, “hystogram” function, other useful functions for 2D plots.
Line style, colours, markers, figure saving. 3D graphics: functions “plot3”, “surf” and “mesh”, bidimensional grid generation with “meshgrid”, plotting 3D parametric curves. Examples of 2D and 3D graphics.
MATLAB programming, M-files, script and functions, input/output commands, flux control, loops. Types of functions, primary functions, auxiliary functions, nested functions, anonymous functions, function handles. Global variables, script/function interruption, program debugging and comments.
Functions of functions for solving mathematical problems: graphs of functions, searching for the zeros of a mathematical function, solution of non-linear algebraic systems, definite integral computation, scalar function minimization, multidimensional non-linear constrained/non-constrained optimization, integration of first order Cauchy problems.

Core Documentation

Lesson slides.

Reference Bibliography

MATLAB documentation.

Type of delivery of the course

Frontal lessons, using laptop and slides.

Attendance

Attendance of frontal lessons not mandatory.

Type of evaluation

It is required the design of a MATLAB project to solve a mathematical/applicative problem, proposed by the student or chosen among the suggested ones. The project will be exposed by the student during the oral exam. It will be evaluated the project quality, as well as the knowledge of the MATLAB constructs. As an alternative to the project, the student can exploit the practice exercises carried out during the lessons to sustain the oral exam. However, in such a case, the student is required to attend at least the 80% of the practice exercises in the classroom.

teacher profile | teaching materials

Programme

MATLAB desktop, command window, workspace, current folder, command history, MATLAB help, windows and preferences. Workspace management, loading/saving variables from/on file. Array Editor, manual editing of variables. Script Editor, basic commands for opening/saving/modifying script files.
Mathematical expressions, numbers and format, variables, display format, variable assignment, mathematical functions as operands, arithmetic operators, mathematical functions as operators, ordering modifiers, conversion functions.
Vectors and bidimensional matrices, building vectors and matrices, loading vectors and matrices, functions for vector/matrix generation (zeros, ones, rand, randn, eye etc.), concatenation, transposition, vector length, matrix dimension, matrix arithmetical operations, element-by-element operations, matrix functions, element-by-element functions, accessing/changing/deleting entries or blocks of matrices.
Norm of vectors and matrices, operator “:”, aggregate functions, indexing of vectors and matrices, single/double index, vectorial index. Boolean variables, relational operators, logical operators, logical expressions on scalars, vectors and matrices, logical indexing.
Multidimensional numerical arrays, characters and strings, function “char”. Cell array, cell array indexing, cell access, access to the cell content, function “cell”. Structure, function “struct”, structure indexing, access to the structure fields.
Polynomials, evaluation of polynomials, sum/difference/product/division of polynomials, polynomial derivation, polynomial roots, polynomials from the roots. Complex numbers, imaginary unit, building complex numbers, Cartesian and polar representation of complex numbers. Numerical sequences and series.
Graphical objects, types and hierarchy, handles. Reading/writing object properties, finding property values, copying/deleting objects. “Figure” objects, “Axes” objects, “Line” objects.
Colours, RGB representation. 2D graphics: function "plot" and "subplot", drawing points and lines on axes, plotting mathematical functions, plotting complex numbers, drawing multiple lines with matrices, plotting 2D parametric curves, “hystogram” function, other useful functions for 2D plots.
Line style, colours, markers, figure saving. 3D graphics: functions “plot3”, “surf” and “mesh”, bidimensional grid generation with “meshgrid”, plotting 3D parametric curves. Examples of 2D and 3D graphics.
MATLAB programming, M-files, script and functions, input/output commands, flux control, loops. Types of functions, primary functions, auxiliary functions, nested functions, anonymous functions, function handles. Global variables, script/function interruption, program debugging and comments.
Functions of functions for solving mathematical problems: graphs of functions, searching for the zeros of a mathematical function, solution of non-linear algebraic systems, definite integral computation, scalar function minimization, multidimensional non-linear constrained/non-constrained optimization, integration of first order Cauchy problems.

Core Documentation

Lesson slides.

Reference Bibliography

MATLAB documentation.

Type of delivery of the course

Frontal lessons, using laptop and slides.

Attendance

Attendance of frontal lessons not mandatory.

Type of evaluation

It is required the design of a MATLAB project to solve a mathematical/applicative problem, proposed by the student or chosen among the suggested ones. The project will be exposed by the student during the oral exam. It will be evaluated the project quality, as well as the knowledge of the MATLAB constructs. As an alternative to the project, the student can exploit the practice exercises carried out during the lessons to sustain the oral exam. However, in such a case, the student is required to attend at least the 80% of the practice exercises in the classroom.

teacher profile | teaching materials

Programme

MATLAB desktop, command window, workspace, current folder, command history, MATLAB help, windows and preferences. Workspace management, loading/saving variables from/on file. Array Editor, manual editing of variables. Script Editor, basic commands for opening/saving/modifying script files.
Mathematical expressions, numbers and format, variables, display format, variable assignment, mathematical functions as operands, arithmetic operators, mathematical functions as operators, ordering modifiers, conversion functions.
Vectors and bidimensional matrices, building vectors and matrices, loading vectors and matrices, functions for vector/matrix generation (zeros, ones, rand, randn, eye etc.), concatenation, transposition, vector length, matrix dimension, matrix arithmetical operations, element-by-element operations, matrix functions, element-by-element functions, accessing/changing/deleting entries or blocks of matrices.
Norm of vectors and matrices, operator “:”, aggregate functions, indexing of vectors and matrices, single/double index, vectorial index. Boolean variables, relational operators, logical operators, logical expressions on scalars, vectors and matrices, logical indexing.
Multidimensional numerical arrays, characters and strings, function “char”. Cell array, cell array indexing, cell access, access to the cell content, function “cell”. Structure, function “struct”, structure indexing, access to the structure fields.
Polynomials, evaluation of polynomials, sum/difference/product/division of polynomials, polynomial derivation, polynomial roots, polynomials from the roots. Complex numbers, imaginary unit, building complex numbers, Cartesian and polar representation of complex numbers. Numerical sequences and series.
Graphical objects, types and hierarchy, handles. Reading/writing object properties, finding property values, copying/deleting objects. “Figure” objects, “Axes” objects, “Line” objects.
Colours, RGB representation. 2D graphics: function "plot" and "subplot", drawing points and lines on axes, plotting mathematical functions, plotting complex numbers, drawing multiple lines with matrices, plotting 2D parametric curves, “hystogram” function, other useful functions for 2D plots.
Line style, colours, markers, figure saving. 3D graphics: functions “plot3”, “surf” and “mesh”, bidimensional grid generation with “meshgrid”, plotting 3D parametric curves. Examples of 2D and 3D graphics.
MATLAB programming, M-files, script and functions, input/output commands, flux control, loops. Types of functions, primary functions, auxiliary functions, nested functions, anonymous functions, function handles. Global variables, script/function interruption, program debugging and comments.
Functions of functions for solving mathematical problems: graphs of functions, searching for the zeros of a mathematical function, solution of non-linear algebraic systems, definite integral computation, scalar function minimization, multidimensional non-linear constrained/non-constrained optimization, integration of first order Cauchy problems.

Core Documentation

Lesson slides.

Reference Bibliography

MATLAB documentation.

Type of delivery of the course

Frontal lessons, using laptop and slides.

Attendance

Attendance of frontal lessons not mandatory.

Type of evaluation

It is required the design of a MATLAB project to solve a mathematical/applicative problem, proposed by the student or chosen among the suggested ones. The project will be exposed by the student during the oral exam. It will be evaluated the project quality, as well as the knowledge of the MATLAB constructs. As an alternative to the project, the student can exploit the practice exercises carried out during the lessons to sustain the oral exam. However, in such a case, the student is required to attend at least the 80% of the practice exercises in the classroom.