GNU Octave is surprisingly good. I had old MATLAB work from university that I wanted to revisit for teaching purposes, and was surprised by the lockout imposed by the pricing model of MathWorks[1] (120 € for an individual license, 260 € for teaching)