Hi Jim:
FWIW, I have used Mathematica, Matlab, and Octave. I like Mathmatica
for symbolic manipulation/solutions of equations. It has (in my
opinion) a steeper learning curve than Matlab/Octave. I have not used
Mathcad. Being an engineer who does ckt design as well as control
systems engineering, as well as signal and image processing, I like
Matlab. The toolboxes contain all the functions that can be applied to
heavy duty applications. The programming paradigm in basic Matlab
carries over directly to the toolboxes. If interfacing to the realworld
for realtime analysis (signal processing and control), Matlab does a
very good job.
From my usage, Octave is very similar to Matlab in the analysis
portion, but I never tried to use it in a real-time mode. I must admit,
it is great for the price.
There is another tool that I really like, and depending on your needs,
may be a better fit. Its IDL. IDL is: a mathematical analysis library
(similar to matlab in both programming paradigm and functionality),
programming language, and the ability to embed/integrate your analysis
programs into your application for very good time response.
IDL has been around for a long time, has good support, and runs on MANY
operating systems (WinX, Linux, UNIX, VMS) and you can develop
GUIs/applications that are truly portable (X, Win, web). If a function
you need is not in it, or, you want to craft a display, or interface to
a DAS, you can write your own functions to do it...there is also a user
area that ppl contribute their functions. It does cost a bit (don't
recall, its been a while since I bought it but, it can be cost
competitive with Matlab..
http://www.rsinc.com/
Good luck
John