Slashdot Mirror


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?

6 of 37 comments (clear)

  1. Mathematic and Maple vs. Matlab by jbolden · · Score: 5, Informative

    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?

    1. Re:Mathematic and Maple vs. Matlab by grammar+nazi · · Score: 3, Interesting
      jbolden pretty much sums up the differences in the parent comment.

      I used mathematica extensively in college, and I've used Matlab + neural network toolbox extensively in my profession.

      Another majore difference between the two is programming languages. Mathematica is best utilized as a functional, lisp-ish programming language, while Matlab is best for C-ish programming that is optimmized for vectors. If the whitepapers that you read for your research do a lot of AI programming in Lisp, then go with Mathematica. If the AI whitepapers use a lot of neural networks or general C/Fortran algorithms, then go with Matlab.
      If you are using the math package for prototyping, and then converting the code a run-time system, then I would definitely stick with Matlab->C and Mathematica->Lisp.

      Ninnux, if you are serious about this, then email me at b_pretender(at)yahoo(dot)com and I can tell you a little more about what I've used and what I've thought about it. We developed our own baysian filters and also used the Matlab image processing toolbox extensively. Most of my comments will be Matlab biased, but that is because I've used it and I've liked it.

      --

      Keeping /. free of grammatical errors for ~5 years.
  2. Well.... by ByronEllis · · Score: 3, Informative

    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.

  3. Matlab vs. Mathematica by Salis · · Score: 3, Informative

    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 /. tagline: "On the eighth day, God created FORTRAN." And it was good.
  4. Try the Free alternative by Col.+Klink+(retired) · · Score: 3, Insightful
    GNU/Octave is a free (libre) Matlab clone. There's also Scilab, which has a Matlab-like syntax. Finally, Maxima is now GPLed so you can explore that as well.

    Scilab is mostly free, but still not free-enough to be included on Debian (it is packaged under non-free on a Debian system). See this thread for details.

    --

    -- Don't Tase me, bro!

  5. Syntax Error... Matlab -or- Maple vs Mathematica by green+pizza · · Score: 3, Interesting

    I would suggest doing some more research about Matlab and Mathematica (as well as Maple).

    Matlab is mostly used for creation of and use of complex algorithms, DSP simulations, and other "heavy math" tasks. It's a great swiss army knife and integrates easily with most C compilers for compiled-performance (rather than interpreted). One of the many "modules" included with Matlab is a symbolic math package based on the Maple engine (see below).

    Mathematica and Maple are little more than symbolic math packages. (Don't get me wrong, they can do A LOT, but neither comes close to the full Matlab package). Each has its pros and cons, but either will do quite well for any math undergrad university student and most grad students. The merits of Mathematica vs Maple are often heavily debated on the usenet and in other forums.

    Matlab, Mathematica, and Maple are all very powerful packages... they can do **WAY** more than any of the lame "MathCAD" type apps you probably used in high school.

    All three are available for Windows, Mac OS X, Linux, and most flavors of Unix (Solaris, AIX, IRIX, HP-UX, Tru64). Each has a rather simple interface and "looks" like a native application with the exception of the Linux/Unix version of Matlab -- it's a quick port from Windows with some lame crossplatform toolkit. Its GUI widgets look as though they're straight out of Windows. This cannot be changed without a lot of hackery. Despite the ugly interface, I would recommend Matlab for students... the student price is about the same as that of Mathematica or Maple, yet includes so much more (plus all of the symbolic math features straight from Maple 8).

    If you don't need (or don't want) all that Matlab offers, Maple may do the trick for you. I used Maple 6 for years and only recently moved to Matlab (for compatibility reasons). Maple, even the current Maple 8, is a clean lightweight application. It's easy on the disk and ram, and even easier on the CPU. And, (IMHO), it does just as much as Mathematica would for me.

    Also, all three have a full-featured command line interface alternative to their GUIs. Learning how to key in equations without the mouse and tool palettes will help you in the long run -- you'll be able to enter data much faster. Brushing up on TeX and/or MathML will also prove helpful.

    These days, my workstation runs little more than Matlab, LyX, and sometimes Framemaker.