Es algo normal de los lenguajes interpretados respecto a los lenguajes compilados. Para ejecutar un programa en matlab el interprete le "traduce" a la computadora que hacer instrucción por instrucción y la computadora la ejecuta al momento (y por eso a veces aparecen errores en tiempo de ejecución que aún con un depurador no encuentras). Mientras que un lenguaje compilado, como C o Fortran, traduce todo el programa a código máquina y por lo tanto al momento de correrlo, como no hay que "traducir", es más rápido, y los errores usualmente aparecen durante la compilación, no cuando ya tienes el programa compilado.
La ventaja de los lenguajes interpretados es que son más flexibles y por ello más fáciles (aprender python es un juego de niños).
Saludos!