Ubuntu – Comparison of Octave, Spyder, Freemat and Scilab as alternatives to MATLAB

freematMATLABoctavesoftware-recommendationspyder

I am trying to find an alternative for MATLAB and have so far found:

  • GNU Octave
  • Spyder
  • FreeMat
  • Scilab

I'm trying to find which is the best alternative to MATLAB. I'm particularly concerned with performance and the integrity of the results.

Best Answer

Well you're in for a treat I have used all the programming languages/software you mentioned. FreeMat and Spyder I do not have too much experience with, but I have some. The others I am experienced in.

GNU Octave by far beets the competition. Its syntax has an extreme compatibility with that of MATLAB. The only differences, I'm aware of at least, aside from the odd toolbox, which you can attempt to replace by the packages here is that GNU Octave can define functions from the command line.

I don't know if you're aware of QtOctave. QtOctave is a frontend (GUI) for the GNU Octave programming language. QtOctave comes with an editor too.

Scilab is an adequate replacement for MATLAB too. It has some differences in terms of syntax but nothing you can't get your head around if you search the documentation that comes with it.

FreeMat is the worst, in my opinion at least, of software that's syntax is heavily based on MATLAB. My evidence for this is three part: firstly, in the software centre it receive the lowest star rating of the four software in question. Second, it isn't frequently updated, the latest version in the software centre, was last updated in 2008. Third as a result of my second piece of evidence its functions are somewhat lagging. The plus side, however, is that its syntax is highly compatible with MATLAB's.

I have used Spyder, but only briefly I'm afraid. It seems top-quality. The problem with it is that it has only limited compatibility with MATLAB, syntax wise. It requires you to learn some of the Python programming language, that is, if you plan to do well at it.

I would also recommend SageMath as it includes GNU Octave, (if its already installed on your system) Scilab, (if you already have it installed) NumPy, [NumPy and the rest mentioned unless otherwise specified come with Sage and therefore no installation is necessary] Scipy, Matplotlib, maxima, Fortran among many others. SageMath may be downloaded by going to the website http://www.sagemath.org/download-linux.html and selecting a suitable mirror, based on where you are and then installing the relevant .tar.lzma file. After this copy and paste the following commands into terminal (Ctrl+Alt+T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

Where 'x' refers to the bits of your OS; 'y' refers to the version of Ubuntu the sage is designed for (e.g. 10.04_lts; 12.04_lts (the _lts is required in 'y'), etc.); 'z' refers to the architecture of your OS. (i386, amd64, etc.)

Related Question