Jim said:
Hi Mark, MatLab is what my client is pushing me to get. But an awful
lot of money for so little usage, almost as expensive as a PSpice
maintenance renewal :-(
You can get the student version of MATLAB for much cheaper. That's the
way to start and see if you think the big step to pro version is
justified. The student version is not matrix size limited and comes
with a scaled back version of the Maple symbolic engine too.
I don't think there is any question that MATLAB has come to dominate the
engineering applications facet of math software packages, and I don't
see that changing anytime soon. Its numeric engine is superior to any
of the others. You can run massive amounts of data quickly if you do
the so-called "vectorization" of your code (don't worry about that at
first). The first time a function file is run in MATLAB, it is
/interpreted/. But that first run /compiles/ it into RAM, so subsequent
runs are essentially compiled code rather than interpreted code. It is
very fast. Of course, you can spend the money and get the outright
MATLAB compiler too, but most folks don't need to produce standalone
executables.
MATLAB may have become popular because the learning curve is not steep
(I don't agree with Mark), especially when it comes to programming and
quickly producing a high quality graph. Free help is better on
comp.soft-sys.matlab (IIRC) than for any of the others.
I still use Mathematica a tiny bit -- mostly for solving fairly simple
simultaneous equations symbolically. You can do that with the Maple
engine attached to MATLAB too, but I actually prefer Mathematica for
symbolic operations, even though I have the pro Maple symbolic engine
attached to MATLAB. Incidentally, the symbolic engine of Mathcad is the
Maple engine too. To my knowledge, Mathematica and Maple are the only
two symbolic engines of any importance.
My opinion is that plotting/graphing is best with MATLAB, over any of
the other packages. It's so-called /Handle Graphics/ are very powerful
and make sense, although it takes some time to figure out (Patrick
Marchand's texts are almost better than the MATLAB documentation).
I think the learning curve for Mathematica is steep. I don't even have
Mathcad installed anymore. Despite the criticisms of Mathcad, I don't
think it is so bad when one considers the price and what it is actually
designed to do. Furthermore, Mathcad really doesn't try to compete with
MATLAB -- it is a different beast. I view Mathcad as more of a high
powered calculator scratch-sheet or spread-sheet, than a programming
language. But one can do some programming with it, but not really like
MATLAB, Mathematica, or Maple (especially MATLAB). MATLAB, Mathematica,
and Maple are fundamentally high level programming languages. Mathcad
isn't, so we should not expect as much out of it in that way.
The problem with all of these is that they are proprietary. I think
there are some free pseudo-clones for MATLAB. But the m-files (function
code) would need at least some touch-up to run in these other packages.
I don't think many people use IDL (interactive data language,
http://www.rsinc.com/), but it does work.
MATLAB is certainly king for now, and likely will stay that way for a
good time, for whatever that may mean to you.