[Beowulf] Re: Octave vs Matlab [was Re: Hadoop]

Jason Riedy jason at acm.org
Tue Dec 30 06:13:02 PST 2008


And James P. Lux writes:
> Matlab's graphics and visualization functions are far more sophisticated
> than Octave's too.

Depends on what you're doing.  jHandles, graceplot, octaviz
(vtk), zenity, etc. all are good for different uses.  However, I
tend to use R for analysis.  (Someday I'll polish and publish my
simple Octave-SQLite interface.  Makes communicating between
environments easy even if not incredibly fast.)

> 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)

And Matlab(TM) has nothing comparable to Octave's multiple
platform support or low-level interfaces.  Once I needed
something for Linux/IA-64 and AIX/Power, I moved to GNU Octave.

I think many free software folks go to Scilab for Simulink-like
functionality.  I've never used Simulink or Scilab, though.

The three environments (Matlab(TM), Octave, Scilab) are
*different*, but they share a common language subset.  This
causes many people to expect any one to be a drop-in replacement
for the others, just like many people get upset when a C++
compiler won't work on C99 code.

> 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.

Define "trivially obtainable":
  http://octave.sourceforge.net/sockets/index.html

Or try searching for "octave sockets" via Google...  OctaveForge
has many items.  Unfortunately (or fortunately?) many are clones
of Matlab(TM) gizmos and don't always take advantage of Octave
features.

> 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.

Indisputably, many users of Octave, Matlab(TM), R, etc. are
reluctant programmers.  I'd bet most HPC users are reluctant
programmers...

And sometimes it's amazing what corner cases people find and then
rely upon.

> 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.

Depends on your use (and your interpretation of "it" above).  For
me, Matlab(TM) is pretty much useless.  I need an environment on
platforms where there is zero commercial interest.  Also, I can't
(or couldn't, last time I looked) extend the environment with
compiled sparse matrix types and routines on par with the
built-in ones.  Then there is the cluster and parallel issue.

And I'm not a reluctant programmer.  When I needed changes, I
dove into Octave and sent the changes upstream.  Not so easy with
Matlab(TM), as some ever-recurring bugs have shown.

> You pay for the ease and slickness of the Matlab tool.

Remember that a tool isn't easy if it doesn't exist *at all* for a
required environment.

> 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.

Octave is in no way as annoying as OpenOffice.  ;)

Jason



More information about the Beowulf mailing list