Mathematica vs. Matlab?
Ninnux asks: "I wanted to find out from the community which was the better mathametics modeling package: Mathematica or Matlab. The cancer center I research and program for is considering purchasing a license set. I'll be working with Bayesian machine learning and other bioinformatic approaches for hormone pathway modeling. I know Matlab has various toolboxes that would be rather useful, but I'd like to hear what people think." While I'm sure direct comparisons will be made, I think focusing on the specific niche will help Ninnux the most; so, how well does each piece of software handle Bayesian functions and other bioinformatic computations?
Mathematica and Matlab are very different products. Mathematica focuses on quality symbolic computation and features like unlimited precision arithmetic. Matlab focuses on high speed algorithms for numerical computation.
Maple is a similar product to mathematica.
So really the question is would you rather have faster numerical processing or greater symbolic capacity?
Matlab is probably more useful to you than Mathematica since you'll be working with simulations and/or data it sounds like. You might also want to check out R, which is designed as a statistical analysis environment and has a large number of packages---including machine learning and whatnot. Its also Open Source and GPL if you care about that sort of thing and runs on pretty much any platform you could potentially care about.
I've used both and I usually prefer Matlab over Mathematica, although I started using Matlab first so that could be a bias.
Here's my breakdown of the main differences (to me):
Matlab is great for numerical simulation of _anything_. It offers the ability to go very quickly from model developement to programming and implementation to analyzing the results. Matlab has a very good GUI creator and offers _very_ good ordinary and partial differential equation solvers. Matlab's programming language is very similiar to C/C++ and it has the ability to link with C/C++ programs.
Matlab's original use was for the quick calculation of Matrix algebra. (MATrix LAB) You can do a lot with matrice algebra and matrix operators. If your application uses matrices, matlab will speed up the processing and computation by quite a bit, which includes ODEs and PDEs.
Mathematica, I found, has a slightly higher learning curve because of the symbolic language syntax. It can analytically solve very complex problems and display the results graphically pretty easily.
Matlab seems to have more additions in the form of modules that come with the professional version. The source code for all matlab functions and modules are viewable, making modification of the modules/core functions possible.
Honestly, I haven't had as much experience with Mathematica, but I find that most research groups choose matlab for numerical solutions/simulations and mathematica for analytical solutions.
The best way to make an intelligent choice is to pick up/browse Wolfram's book on mathematica (he created it) and the latest Using Matlab manual. Just remember that Matlab also contains about two dozen extra toolboxes/modules that were created by research groups for specific purposes. There is a neural network toolbox, if I remember, although I don't know if it's applicable to Bayesian networks.
Salis
Favorite