Octave vs Matlab Re: [Beowulf] Hadoop

Lux, James P james.p.lux at jpl.nasa.gov
Mon Dec 29 08:48:37 PST 2008

On 12/29/08 7:01 AM, "Gerry Creager" <gerry.creager at tamu.edu> wrote:

> OUR users are willing to pony up the funds to buy Matlab.  We're already
> running Octave but they claimed they didn't know how to use it.  Even
> after we showed them Matlab scripts that "just ran" on Octave.

I use both on Windows and MacOS X..

While it's true that Matlab scripts just run on Octave, the "setup" process
is somewhat trickier for Octave on Windows.  For instance, the whole Octave
thing is very unix-like, especially in terms of paths, file functions, etc.
so it's not quite so load and go as Matlab.  Matlab also has a GUI which
makes doing things like setting the path, working directory, etc, much
easier for an unsophisticated user.
Matlab's graphics and visualization functions are far more sophisticated
than Octave's too.
Octave has nothing comparable to Simulink or RealTimeWorkbench, which are
sort of a step beyond a simple "toolbox" (e.g. Cranking out something like
ccmatlab to make ccoctave shouldn't be a big challenge, or, for instance,
the mapping toolbox.. But duplicating Simulink would be a lot of work)

The other thing is that there are useful things out there for Matlab (e.g. A
BSD Sockets library) that aren't trivially obtainable for Octave. To a
certain extent, this is just because the originator has Matlab, and has only
bothered to develop/compile/package things up for Matlab (i.e. They're
basically making available something they had to build for their own
purposes, not trying to create a product, per se). This is particularly the
case when your Matlab app is trying to talk to other processes or hardware.
The man or woman with the weird hardware is going to slog through doing the
drivers once, perhaps distribute them for free once done (because they were
paid by the taxpayer, for instance), but isn't going to do it again for a
different environment, just out of the goodness of their heart.

So, for just running standalone computational stuff, Octave gives Matlab a
good run for the money, but as soon as you start thinking of Matlab as a
generalized tool for tinkering about and such, it starts to lag behind.  You
pay for the ease and slickness of the Matlab tool.  What might be
interesting is a sort of cross development model:i.e. Develop in Matlab,
which is nicer for interactive stuff, then use Octave, etc, to run the
production job on a cluster (so you don't have to deal with Mathworks weird
licensing on clusters).

Octave vs Matlab is sort of like OO vs MSOffice.. It mostly works and for
many tasks is perfectly adequate, but it's not the same.

Jim Lux

More information about the Beowulf mailing list