Source: https://www.math.univ-angers.fr/perso/lmenichi/Enseignement/L2_Scilab/cours-6.pdf