How does Octave shine?
abarth at marine.usf.edu
Thu Sep 21 15:40:14 CDT 2006
Another advantage of octave over matlab is portability. In my group, we needed to run matlab code on
an Itanium 64-bit machine. However, this architecture is not supported by matlab. We succeeded to
run the 32-bit version of matlab but we were unable to compile some mex-files (gcc cannot create
32-bit binaries on Itanium unlike on AMD x86_64). With minor changes to the matlab scripts and after
writing equivalent mex-files for octave (by the way, this is the octcdf toolbox in octave-forge), we
were able to run our programs on the Itanium machine.
In general, mex files in matlab are a pain, especially for larger projects (unless you have exactly
the same version of gcc and external libraries used for compiling matlab). There is no such problem
with octave since octave is compiled with the system compiler and linked against the system libraries.
Currently, only Fortran 77 is supported in matlab but most new scientific Fortran applications are
written in Fortran 90/95. Some Linux distributions (if not most) use now a Fortran 90 compiler
(gfortran or g95) as the default Fortran compiler for octave. Therefore it is quite simple to call
Fortran 90 code from octave. And, yes, Fortran is still by far the most widely used programming
language in my field.
With octave, I am sure that the code that I write today can still be used in, say, 10 years. Not all
institution use matlab, some maybe use IDL or something else. It is not uncommon for scientists to
change institution and they are expected to bring their expertise (including code) to the new
And, as mentioned previously, open-source fosters scientific collaboration while the dependence on
proprietary software impedes it. A crucial characteristic of scientific results is the ability of
other to reproduce them. This aspect is partially lost in the case of proprietary software.
>From the technical side, I'm convinced that the new package manager will make the distribution and
management of 3rd party software packages much more easier in octave than in matlab.
But there are also areas where matlab has still the lead, in particular visualization and speed of
Cameron Laird wrote:
> I'm helping put together a presentation on the potential of open-source
> software in engineering situations; I'd love one or two or three very
> pointed examples of work Matlab effectively can't do but Octave makes
> easy. Although I've used Octave occasionally over the last year, I'm
> not current or expert with it. What shows Octave off to best
> advantage for a Matlab-using audience? Is it the ODE or nonlinear
> algebraic solver? Variable-length argument- and result-passing? Who's
> good at Octave advocacy?
> Help-octave mailing list
> Help-octave at octave.org
Ocean Circulation Group
University of South Florida
College of Marine Science
140 Seventh Avenue South
St. Petersburg, Florida 33701
Phone: +1-727-553-3508 FAX: +1-727-553-1189
More information about the Help-octave