At my university we also use Matlab a lot. However, I've found that Octave is a very suitable replacement for all packages except Simulink, which is widely used for Control. The alternative here would be Scilab/Xcos.
I also use python/sympy/matplotlib/scipy/jupyter a lot and it's absolutely great -- highly recommend to the OP.
Enter rolling distributions, where each upgrade is guaranteed to work. Even if you can't upgrade from version A to C, you can upgrade from A to B to C. Why can't Microsoft products also upgrade this way, even between major versions?