Here is an attempt to give you at least a feeling for what these do and what their main thrust is. Note that I am a Maple user and a LaTeX user, have used Mma maybe 10 years ago and have dabbled in Matlab.

Maple and Mma are computer algebra systems (CAS) so you can use both of these to do analytic work incl. solving of equations and solving of differential equations (ODE and PDE). Each of these systems have certain limitations I cannot really go into too deeply here. Maple and Mma also nowadays have extensive numerical capabilities; I have analysed whole experimental data sets with thousands of records in Maple, but not any with millions of records. Maple allows you to write complex code and also build a GUI for ease of usage. I assume recent versions of Mma allow the same. Maple has a certain amount of object-oriented capabilities but is not a full-fledged oo language. Mma is stronger as a language for functional programming than Maple according to others I discussed this with.

Matlab originated as a "wrapper" around LaPACK and BLAS (highly optimized linear algebra and matrix routines). Over the years it acquired many more capabilitie incl. the ability to write GUIs and also, I believe, some analytic (or algebraic) capabilities. The matrix capabilities are highly optimized and efficient (I believe more so that Maple's although I have not done a direct comparison). Matlab's freeware cousin Octave has oo capabilities; I assume Matlab as well (but I don't know that for a fact).

For both Maple and Matlab there are Toolboxes you can buy to extend their abilities e.g. in simulation or digital filter design. Again, Maple allows algebraic work whereas I suspect in Matlab you are quickly relegated to doing numerics. In my professional environment (particle accelerators), Matlab is in widespread use for anything from data analysis and processing to being embedded in the control system, making use of its GUI and plotting capabilities. Mma (and to a lesser extent maple) are used by our people to do theory.

Finally, LaTeX is a different beast altogether: it is a document description language built on top of the TeX typesetting system. Maple and Mma both have the ability to create LaTeX code from (pieces of) their workbooks so you can include that into a larger LaTeX document (e.g. a paper you are writing).

If you need help in deciding which of these to use (e.g. to buy) please indicate what you want to do with it. If your aims are general (i.e. "I am a n-th year student of physics..." or similar), I suspect Maple or Mma have broader applicability than Matlab due to their analytic capabilities. I am a Maple user and use Maple in a teaching environment, therefore I am biased towards Maple. If you need it primarily for data analysis or numeric work, Matlab maybe better suited, in parts due to its widespread use for such things. In that case it is worth investing Octave as well; maybe not as powerful or polished as Matlab, but free. Note that, unless you are a professional and large-scale user, questions like efficiency are likely of secondary importance. Any of Maple, Mma and Matlab will be able to cope with relatively large problems, if my experience with Maple is any indication here.

So, let us know what your applications are and we'll take it from there.

M.D.