For those working on linux or similar systems (not windows) and don’t have the money (or want to use commercial software) I can highly recommend GNU Octave. As far as I can say (from my very beginner perspective) octave supports everything I have learned so far that can be done in Matlab (see this).