# What is the difference between Mathematica and Matlab? [closed]

I am totally a beginner to Wolfram products and I'm searching for a software to solve my math problems with, like computing this integral using $\LaTeX$ in Wolfram|Alpha.

I'm searching for a windows-based software rather than a website. A software just like Wolfram|Alpha that uses $\LaTeX$ or any language very similar to $\LaTeX$ and solves those tedious math problems and graph drawings that have been repeated a lot and solving them manually is just a waste of time. I'm searching for a scientific calculator in fact rather than a new programming language.

Anyway before starting to learn Mathematica, I want to say that I'm pretty well in MATLAB so I thought if we consider MATLAB and Mathematica two computational packages and programming languages, what's their difference between them?

In fact in this question, I'm looking for comprehensive and rather long answers to these questions

1. What's the difference between Mathematica and MATLAB?
2. Can MATLAB do what Mathematica does and vise versa?
3. What are the pros and cons of each of them?
4. Who are the appropriate users of each tool?
5. Will it benefit someone if he knows both of them?
6. What are the capabilities of Mathematica that makes it unique?
7. Can Mathematica play the role of an easy to use advanced scientific calculator for an engineer who is most of the time dealing with multi-variable calculus and partial differential (electromagnetism) equations?
• 1) Several letters in the names. 2) Yes. Both Turing complete. Good luck writing heavy symbolic work in matlab though. 3). Many pros here at this site, a few users have done prison time. No idea re: Matlab expertise or criminality. 4) Ones that make up their own mind based on experience with the two vs taking polls. 5) Sure, they can answer comparison questions. 6) Stephen Wolfram. 'nuf said. And if you disagree, he'll send a pack of wild cellular automata your way to... "evolve" your opinion. 7) Yes. – ciao Sep 12 '15 at 0:46
• @ciao "Pack of wild cellular automata." ......... :) – kale Sep 12 '15 at 0:56
• @ciao Your answers to those questions deserve at least a bounty. It's a real pity that comments can't be awarded and that you don't collect cockades anymore. Anyway, if you give me your snail mail address I promise to send you my copy of NKS, provided that I can find it in the henhouse. – Dr. belisarius Sep 12 '15 at 1:44
• @belisarius NKS can't be sent through the post. It's a) too paradigm-shifting, and b) too heavy. Instead, hen-houses are constructed around copies of NKS found in the wild. – Patrick Stevens Sep 12 '15 at 7:33

Matlab tends to be data oriented (and it is very good at that). You can do some symbolic manipulation but it is not smooth and easy.

I used Matlab to analyze NMR data.

I built hundreds of matlab scripts to facilitate the procedure.

You can do the same thing with Mathematica using Packages but the learning curve is a bit steeper.

Mathematica's symbolic manipulation is far better and easier to use than Matlab.

I think the graphics in both systems are great. Making sophisticated plots in both systems are not trivial and one has to make an effort to become a master (I am still learning).

Mathematica provides a notebook interface that you can treat, literally, as a notebook. You can use the notebook as a presentation (similar to Powerpoint). You can also convert it to a CDF and share it with others who have not purchased Mathematica.

I have built GUI's with Matlab some of which are very sophisticated.

The ability to use Manipulate and Dynamic make Mathematica much easier to build simple GUI's. More sophisticated GUI's are equal or possibly more difficult than Matlab.

Mathematica supports procedural programming as most scientists and engineers are familiar with.

I used Mathematica for many years before I advanced to learning the functional programming style.

I don't think it is easy but if you want to really exploit the power of Mathematica it is a must.

Originally I was a power Matlab user and used Mathematica occasionally to solve and validate algebra, differential equations, etc. To make sure I coded Matlab correctly.

These days I have largely switched to becoming a full time Mathematica user and an occasional Matlab user.

One thing that I liked very much (this is probably personal, and not widely shared) was the ability to edit Matlab files using the Emacs editor.

External editors are not really available in Mathematica so I find the coding a bit more tedious and error prone.

• I think most of my usage will be like yours. I mean I have to implement my code in matlab but when studying papers, I need a quick way to calculate. For example consider wolframalpha.com/input/?i=\int_0^{\pi}\frac{1}{4}\cos^2%202\theta\sin\theta%20d\theta if I wanted to calculate it in matlab, I had to produced a a vector of values between 0 and $\pi$ and then use the rieman series to calculate it and get the approximate solution. or if I wanted to use symbolic math toolbox I should have produced syms variable and as you might know symbolic calculation in matlab are not very – Sepideh Abadpour Sep 12 '15 at 1:04
• efficient and at the end the results are not displayed very effectively. totally i mean symbolic calculations in matlab takes more time. but for calculating the same integral in Wolfram I just right it in latex code in a way that is more sensible to me and the result is displayed just as I want $\frac{7}{30}$ so i think it can be a good tool as quick calcuator but is calculating in mathematica as easy as calculating in wolfram alpha? – Sepideh Abadpour Sep 12 '15 at 1:09
• One nice thing about Wolfram Alpha is that if in a Mathematica notebook you use the = sign at the beginning of a statement, Mathematica will print both the answer and the corresponding Mathematica code required to generate the answer. For example = integrate sin x from 0 to pi/2 prints the answer 1 and the code Integrate[Sin[x], {x, 0, Pi/2}] – Jack LaVigne Sep 12 '15 at 1:37