Elements of Numerical Analysis

5 ECTS / Semester / Portuguese

Objectives and competences

Understand and apply the mathematical concepts related to Numerical Analysis:

  1. Understand the concept of number in various numbering systems;
  2. Understand the nature of numerical errors, their propagation, and how to estimate them;
  3. Understand and apply methods of root location in nonlinear equations;
  4. Understand what is the fitting of functions to experimental data sets through various methods and tools and apply them in a critical and thoughtful way;
  5. Know how to numerically estimate derivatives and integrals;
  6. Be able to solve problems involving differential equations and their integration in time;
  7. Understand and discuss the characteristics (and possible advantages/disadvantages) of the methods studied.

Recognize the importance and applications of Numerical Analysis in Bioengineering:

  1. Recognize the characteristics, advantages and limitations of numerical methods compared to analytical methods, and their associated errors;
  2. Identify the various alternative tools to solve the same situatoin, their characteristics and possible advantages/disadvantages;
  3. Develop the ability to critically analyse the adoption of a method / tool for a given situation;
  4. Apply the methods and tools to solve concrete problems and present the process, the result, and a critical reflection on the overall process.

Develop computational skills in different computing paradigms (spreadsheet and numerical computation systems) to be able to solve problems through Numerical Analysis:

  1. Know the interface of the Excel program and its functions/functionalities related to the topics of this UC;
  2. Know the Matlab/Octave program interface and its functions related to the topics of this UC;
  3. Know how to graphically represent the different methods studied in this CU (Excel and Matlab/Octave);
  4. Develop the ability to interpret and build spreadsheets capable of applying the numerical methods studied to solve problems.
  5. Develop the ability to interpret and build scripts in MatLab/Octave capable of applying the numerical methods studied to problem-solving;
  6. Identify the characteristics of the two calculation paradigms explored and know how to compare them in context.


Teaching Methodologies

Student’ attendance of 4.5 hours per week are divided into three 1.5 hour lessons per week.

The syllabus will be developed as follows:

  1. Exposure and contextualization;
  2. Demonstration of application to concrete exercises;
  3. Critical comparison between computing environments (spreadsheet / numerical computation system);
  4. Critical reflection on processes and results;
  5. Monitoring the students' study:
    1. compliance analysis;
    2. alternatives’ analysis;
    3. proposal of improvements
  6. Reviews and clarification of doubts.



  1. Representation of numbers
    • Representation of real numbers;
    • Decimal, binary, octal and hexadecimal numbering systems;
    • Representation of numbers on the computer;
    2. Numerical errors and their propagation
    • Errors: types of errors, rounding and truncation;
    • Propagation of numerical errors;
    • Sources of numerical errors;
    • Definition of errors (Quantification);
    • Error representation;
    3. Approximation of functions
    • Function approximation methods: interpolation and regression;
    • Minimum squares method;
    • Polynomial interpolation: Newton and Lagrange methods;
    • Use of Microsoft Excel to fit functions to experimental data.
    4. Solving nonlinear equations
    • Interval methods: successive bisections and false position;
    • Open methods: fixed point iteration, Newton-Raphson and secant;
    • Rounding errors and stopping criteria;
    5. Matlab/Octave
    • Matlab/Octave application interface;
    • Types and definition of variables in Matlab/Octave;
    • Arithmetic operations; relational and logical;
    • Algorithm and flow control structures;
    • Functions and user-defined functions;
    • Packages
    • Build and/or interpret scripts in Matlab/Octave capable of applying numerical methods to problem solving.
    6. Numerical derivation and integration
    • Differentiation: finite divided differences;
    • Newton-Cotes integration formulas;
    • Numerical integration of functions: Trapezoidal Method, 1/3 and 3/8 Simpson;
    7. Solving ordinary differential equations
    • Classification of differential equations;
    • Euler's method;
    • 2nd, 3rd and 4th order Runge-Kutta method.


Teresa Brandão graduated in Chemical Engineering from the Faculty of Engineering / University of Porto in 1990. She completed the curricular part of the…
Invited Professor
Degree in Food Engineering (1998) from Universidade Católica Portuguesa.