Source: https://cran.r-project.org/doc/contrib/Hiebeler-matlabR.pdf