Re: What is the point of octave? (And its presumed buddy, MatLab)



djlogan2 wrote:
I installed octave, since I saw mention of it here and there, and it's
purported similarities to MatLab.

Well, now that I have it, my fundamental question is: What do I do with
it?

Consider that I am using Maxima extensively now, and have used
Mathematica extensively in the past. They are obviously largely
symbolic algebra systems. I can do differentiation, integration,
various matrix equations, oodles and oodles of functions (such as
"laplace()"), systems of equations, etc. etc. etc.  I'm sure everybody
here knows that.

But reviewing the Octave primer and Octave reference manual, I haven't
really figured out its overall purpose. It sure doesn't seem to be
symbolic at all. Is it numerical only? So equations would have to be
"solved" in something like Maxima first?

Is it primarily for interfacing from programs I write? What problem
exactly is it supposed to solve?

Julian Stoev gave you an answer:

Instead of solving these problems in compiled language (like Fortran),
Matlab is solving this in the interpreted language, thus gaining programming speed and convenience.

So, yes, it is MAINLY for numerical computations. Still, I have a few additional comments. Sorry, it will be long!

0. Matlab, Scilab, Octave, Numerical/Scientific Python, Yorick, Rlab,
   etc. are based on *vectorial* approach to programming. Instead of
   writing loops, you define and process arrays as compact entities
   with mathematical properties, say
   x = (0:1000)*0.001*Pi; y=sin(x); plot(x,y,x,x.*y);
   THIS is the main point, not the fact that those packages are inter-
   preters. So, the typical usage concerns scientific problems where
   there is plenty of regular accesses to structured data. Signal
   processing, computer graphics, etc.
   [Actually, I do not understand people who install programs before
   knowing what they really want from them, but this is another story.]


1. There is plenty of "semi-numerical" problems around, as Knuth would name them. Often you don't need "symbols" at all, but mathematical structures containing numbers. Power series. Filters/transfer functions represented as polynomials or rational functions; those polynomials are just short arrays of coefficients. Padé approximants. Structures representing polygonized parametric surfaces. Graphs in general. Dataflow 'circuits'. In such a context you *don't need* a full-fledged CAS. Matlab, being an object-oriented language permits you to define such entities. You may do "automatic diferentiation" in those languages, often infinitely more appropriate than the symbolic processing. In Scilab filters are defined as standard.

2. There is some interaction between those numerical packages and
   symbolic systems. MuPAD comes with Scilab, and provides some
   integration. Matlab has a symbolic package, and uses (used?)
   Maple libraries.

   This seems to be a more sane way of establishing some gateways
   between symbolic software and number crunchers than, say, just
   generating Fortran programs out of scripts in Reduce or Schoonschip.
   Those final numerical programs were unreadable (thus undebuggable)
   and usually quite badly optimized...

3. There are respectful people (seriously, no irony) who would recommend
   using Maple also for numeric computations, claiming that all that
   Matlab business is a wrong way. I disagree. I think that we should
   have several small tools, well integrated, rather than huge machi-
   neries combining everything.


Jerzy Karczmarczuk

.



Relevant Pages

  • Re: Mathematica Vs. Matlab
    ... > number of other software packages. ... > both Mathematica and MATLAB in the two years since the report was last ... Looking at the Mathematica code I see the loop implemented is a Do loop ...
    (sci.math.symbolic)
  • Mathematica Symbolic Toolbox for MATLAB--Version 2.0
    ... The Mathematica Symbolic Toolbox for MATLAB ... He is responsible for leading the MathLink ... The Mathematica Symbolic Toolbox for MATLAB is ...
    (sci.math.symbolic)
  • Re: Maths and programming languages.
    ... some graphing in maths but I am also looking at a programming language ... which would be suitable for maths work which could go to more advance ... etc. MatLab can be a very useful tool. ... Mathematica, and when I want quick results working with discrete ...
    (sci.math)
  • Re: Mathematica Vs. Matlab
    ... The general DO loop in Macsyma is designed to handle cases where the loop ... Do either Matlab or ... >> number of other software packages. ... >> both Mathematica and MATLAB in the two years since the report was last ...
    (sci.math.symbolic)
  • Re: mathematica and matlab
    ... MATLAB is more focused around matrix manipulation in a numeric sense - ... MATHEMATICA is more focused around the symbolic calculations (as is ... packages' web site and see if you like the command syntax, ...
    (sci.math)