help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does Octave shine?


From: Johan Kullstam
Subject: Re: How does Octave shine?
Date: 01 Oct 2006 09:39:22 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Alexander Barth <address@hidden> writes:

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

I find that I need to recompile my dot-oct files whenever octave is
upgraded.  It's not hard to do though.

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

This is *not* true.  Octave recently got rid of the gnuplot functions
and forced usage of the matlab graphics functions.  Also, the dot-oct
details change too.  There used to be only two kinds of matrix,
real and complex, now there are sparse and others.

As for the plotting functions, I understand that it is to make moving
scripts back and forth from octave to matlab easier.  However, I have
hundreds of scripts which use the gnuplot style.  I could do a massive
s/gplot/__gnuplot_plot/ &c.  However, I really dispise the matlab
plotting.  My complaints are two - 1) I don't seem to have as much
control over the line types and legends and such with the "plot"
function options, 2) I like to plot everything to a post-script file
and view it with ghostview.

The plot to file lets me have *one* figure window with multiple
figures in it (I can hit forward and back in gv and then select
individual or all figures for hardcopy).  The matlab "figurea"
approach is awful when you have 20-30 plots off one script.  I can
also easily plot to PNG files and view them with, e.g., feh.  PNG are
good since MS office seems to accept them readily while MS office
postscript support is pretty lousy.  If you all have some tips and
hints for working with matlab style stuff, please let me know how you
deal with it.

I am not sure what choice I will make for the future.

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

Yes.

> >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 non-vectorized code.

I find that simulink is the big difference.  My bosses equate matlab
with simulink.  (I love to present an m-file script and say "yes, this
is *matlab*.  You did say 'matlab'; you didn't say 'simulink'".  But
there is only so far I can provoke them.)  And since we do some
mechanical dynamics work involving 3-D effects such as inertia
tensors, we need to have sim-mechanics.

Btw is there a free alternative to sim-mechanics?  I don't need the
GUI as much but I do need the differential integration on manifolds.

> Cheers,
> Alex
> 
> 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
> > address@hidden
> > https://www.cae.wisc.edu/mailman/listinfo/help-octave
> > 
> 
> 
> -- 
> _______________________________________________________________
> 
>   Alexander Barth
> 
>   Ocean Circulation Group
>   University of South Florida
>   College of Marine Science
>   140 Seventh Avenue South
>   St. Petersburg, Florida  33701
>   USA
> 
>   Phone: +1-727-553-3508     FAX:   +1-727-553-1189
> 
> _______________________________________________________________
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www.cae.wisc.edu/mailman/listinfo/help-octave

-- 
Johan KULLSTAM


reply via email to

[Prev in Thread] Current Thread [Next in Thread]