Friday, January 06, 2012

MATLAB alternatives (free, of course...)

I don't use MATLAB very much at the moment, or even in recent years. Production of a couple of graphs perhaps, maybe a little data processing, but nothing that can't really be done using any other piece of software available to me (MS Excel, LO Calc, or a bit of my own code). I have used MATLAB extensively in the past, mostly Simulink though, for some signal processing and control stuff, so know it can be a very useful tool. However, given my current MATLAB inactivity, and that where I work doesn't have an endless supply of licenses for research (and these are fairly expensive as you may have noticed...), it seems that my occasional use can be easily covered by the open-source/freeware.

The main options seem to be Octave and SciLab. Both are open-source and free, and can be used in Linux, Windows or MacOS (I like cross-platform compatibility...). As open-source 'versions' of MATLAB, both of have at least some degree of compatibility with it. Although there seems to be some disagreement on which is closest to full MATLAB compatibility, from what I've read while only briefly looking a little further into it, Octave tries to maintain the same syntax (so aiming for m-file compatibility, and treating any deviations from this as bugs), whereas SciLab offers a tool for conversion. I think that a similarity to MATLAB in terms of functionality and syntax is beneficial because of its pervasive nature, and the subsequent opportunity to share resources.

In terms of a comparison between these two in a more computationally technical sense (comparison of calculations, plotting and syntax with MATLAB), see this tech report, which also mentions another possible candidate too - FreeMat. This report concludes that Octave does actually offer a viable alternative to MATLAB, with limitations found in both SciLab and FreeMat.

Why did I write a post on this? Mostly just because I want a record of these links for myself, but partly because hopefully someone else will find this useful too.

No comments: