Source: http://m.didin.ftik.usm.ac.id/WyZ_programming-for-computations-matlab-octave-a-gent_Hb9B0Tw.pdf