Posts Tagged ‘matlab’

Open Source MATLAB Alternatives

Wednesday, November 1st, 2006

As I mentioned previously, I recently graduated from the University of Illinois. Unfortunately, I also graduated from academic discounts. Specifically, I was looking to pick up a copy of MATLAB for some data analysis problems I need to hammer on for work, only to find that Mathworks does a remarkably good job at checking if you are currently a student (we’re talking send us proof of your current enrollment here).

Anyway, I don’t have “grips” to drop on this (thanks Mike and Ben) so I went in search of Open Source MATLAB alternatives. The following is a list of the major players out there:

Of these, Octave or Scilab is probably the most complete as solution to the problem (though it’s not 100% compatible with MATLAB). Scilab was written by INRIA (who also brought you OCAML), so they know what they’re doing over there. Octave also a great alternative available on many platforms. I wasn’t able to get it via fink, and I didn’t want to manually install it, so I set up a separate Debian machine to run it. I’ve been pleased.

I also gave Freemat a try on my Mac. I was pleased that it provides a visual environment and installs easily on both OSX and Windows. I found it somewhat limited in its graphing capabilities. Octave has been working well for me. Octave actually defers to gnuplot for its graphing, so it’s very full featured. There are a few quirks, but it works fairly well.
Update:

For a more complete listing of MATLAB alternatives, visit

http://www.maths.lth.se/matstat/stixbox/matlabfaq.html

See the section on “Are there many Matlab-type environments?

UPDATE: Another site listing possible open source math programs can be found here.

Sage was recently mentioned on Slashdot. I haven’t had a chance to to try it out yet, but it looks like it could be the new forerunner. It aims to bring together other Mathmatics software and lets you program in Python rather than some obscure proprietary language. Definitely something worth checking out.