# Mathcad vs MATLAB vs Maple vs Mathematica

• Mathematica

## Main Question or Discussion Point

Which one do you use, and why?

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
I like Matlab best and it has a student version for $50 that does everything most people need. The syntax is similiar to C so if you know C it is easy to program. The documentation is not so good but I find Matlab easier to use than Mathcad. Most people learn it by modifying other peoples files. Experts swear by Mathematica but novices swear at it. I am told it can do things that Matlab cannot but I have not yet discovered what that might be (twelve years use so far). I have zero experience with maple but it is popular at some universities. Having tried Maple and Mathcad, I much prefer maple. I found it easier to manipulate equations etc. Originally posted by mmwave I like Matlab best and it has a student version for$50 that does everything most people need. The syntax is similiar to C so if you know C it is easy to program. The documentation is not so good but I find Matlab easier to use than Mathcad.
I'm a MatLab fan myself too. And mmwave says it just right. I tryed MathCad before that and I found it a bit difficult.
MatLab has a very good communications library and cool image processing functions.
I also heard good things about Maple....

enigma
Staff Emeritus
Gold Member
I use Matlab almost exclusively for my assignments. It has enormous capabilities, and is very simple to figure out the basics.

The only other software package which you listed that I have seen was Maple. I didn't get very deep into it... the hyperstringent syntax requirements really put me off to it.

chroot
Staff Emeritus
Gold Member
Matlab actually uses Maple as its 'Symbolic Toolbox.'

I used to prefer Matlab for numerical computation, and Maple for symbolic computation. Mathematica has, IMO, very unusual and sometimes very cumbersome syntax, but does everything Matlab and Maple do all in one place.

Mathematica is also generally regarded as having the best graphical capability, and being the fastest numerical program available.

Overall, I prefer Mathematica, but end up spending a lot of time in help files trying to remember the right syntax for rarely used functions.

Another oddity is that all of the computer algebra programs are prone to occassionally producing bad equations that, well, look right! We often end up running the same caclulations on Matlab and Mathematica side-by-side to see if the two packages agree on the solution. The ODE solver was almost always the culprit. Mathematica version 5 (hot off the press) is supposed to have a totally redesigned and reimplemented ODE solver, so perhaps it will behave better.

- Warren

I use MAPLE and MATLAB, and love them both like my children.

I use MAPLE as an expensive calculator, usually when I want to check things I've worked out. I use MATLAB for project work. I like MAPLE since it's easy just to type something up and see what pops out. Not used any of the others listed.

I have been a MATHCAD user for years. I have been thinking about expanding my horizons.

Hi!
I am a user of mathematica and I can imagine why novices/matlab find the syntaxes a bit of a letdown. Heres what i do all the time.

1) No need to remember function names
All mathematica functions start with capital letters, so you always know that if you want to integrate you need to begin with the letter "I". Next hold down the control key and press "k" (ctrl + k). All the functions starting with I appear right under your fingers! Keep typing (e.g: integr...) and you will see that the list keeps on filtering. Or you can just select the function from the drop down list you were looking for and hit enter. You dont even need to type the name of the function yourself.

2) No need to remember syntaxes
After completing the the name of the function press "shift+control+K". The whole syntax will pop up! As a bonus dummy parameters are in place too! :surprise:

Also, you can always type ?FunctionName to get help on a function (right inside your notebook).

I don't remember when I last left a Mathematica notebook on which I am working to open the help and look for syntaxes (literally). Everything is presented to you under your cursor.

Take care
buffer

Last edited:
cronxeh
Gold Member
umm.. you dont need any of that stupidity in Matlab.

in matlab you just press int and click tab twice, and it will give you all possible functions

and if you dont know how to use it, type 'help int' and it will give you the syntax with examples.

matlab's beauty is in simple, yet very powerful set of tools.

ive tried maple and mathematica and i must say they both suck just for those reason - they are overly complex

go with matlab - you wont regret it

My school strictly uses Mathmatica, and, as you said, the students swear at it. I, on the other hand, don't have much of a problem with it. I've thought about buying it but haven't decided if it's worth shelling out \$135 for it.

graphic7
Gold Member
It's also from my experience that Mathematica doesn't have standard syntax. Often when loading an external package, such as Graphics`, you'll find that it's rather difficult to plot vectors compared to plotting vector fields because of the syntax issues.

Another Mathematica gripe is the way it treats matrices. Matrices are treated as lists, and in order to get a list to look like a matrix you must add an annoying "MatrixForm."

matlab is the industry standard. Maple is what engineers and physic individuals use, cause its easier. then when they get to gradschool, they got to use something stronger. I dont know a single person who uses mathcad, I dont even know if it really exist. Mathematica is simply and faster then matlab when you are doing simply things. Programing is like C.

PerennialII
Gold Member
I can see people feeling mathematica to be a bit complex syntax wise ... probably its greatest weakness is to get started. Of these 4 I've used Maple the least primarily because Mathematica does all that it does, and I've found it to be numerically a bit more efficient in my appls. Mathcad IMO is an extended scientific calculator ... the other 3 are meant for real scientific stuff and in such respect superior, but in simpler cases can be overly complex. I prefer Matlab in numerical number crunching tasks over Mathematica, but everything else I do pretty much with Mathematica.

There's a very good article in the January/February issue of http://cise.aip.org/cise/ [Broken] that looks at the origins and target users of Matlab, Maple and Mathematica. I imagine most university libraries ought to have a subscription to it. The issue isn't online just yet though.

I've used Mathematica and Octave (Matlab clone) and each has their strength and weaknesses and is geared toward a particular type of user and application.

I think Mathematica tends to be better at doing symbolic things, which Matlab doesn't do. But Matlab does do matrix things extremely well. Deciding which one is better will depend on what you want to do with it.

Last edited by a moderator:
Ackbach
I've got a question about extracting a subset of an array within Mathcad. For instance, I've got two arrays - X, Y. I want to plot only the portion of Y where X is such that X > x1 and X < x2. How do I do that?

Thanks.

SC

Travelling Sales Person

Does anyone have any websites to recommend on how to start matlab programming for Travelling Sales Person(tsp) problem?

I know that Maple can export graphs as .dxf files only if they are 3D, which sucks! Can Mathematica do that also with 2D graphs?

TSN79 said:
I know that Maple can export graphs as .dxf files only if they are 3D, which sucks! Can Mathematica do that also with 2D graphs?
".dxf" are 3D files... why would you want to export a 2D graph into a 3D file?

Because .dxf is the only export format that AutoCAD can read...but I don't want a 3D graph, I only need 2D. But I solved this problem long ago, never mind.

scasey1960 said:
I've got a question about extracting a subset of an array within Mathcad. For instance, I've got two arrays - X, Y. I want to plot only the portion of Y where X is such that X > x1 and X < x2. How do I do that?

Thanks.

SC
i think in matlab you could try using the function find(blabla), i am not sure how to use it.
or you could try the for loops for example you are given X[m,n] and Y[m,n] and you want to plot only those values of Y for which corresponding X is <x1 & >x2:
z=[];

for i=1:m
for j=1:n
if x(i,j)<x1 & x(i,j)>x2
z=[z;y(i,j];
end
end
end
plot(z)

Matlab is best

Well the main advantage of matlab is, if you read any job discription for tech or science you will see matlab in rquired fields, .... maple and mathcad no where to be seen. The other big advantage is the matlab help is more easily available on internet, like on mathworks file exchange or kluid(http://www.kluid.com" [Broken]) both very good and dedicated matlab forums.

Matlab is way to go,

Irene

Entropia said:

Which one do you use, and why?

Last edited by a moderator:
FactChecker
solving system of nonlinear equations,

Hi All,

I have a system of 4 nonlinear equations with 4 unknowns.
Unfortunately since I use the MATLAB "syms", they are in very bad form (polynomial), something like
-------------
0 = 5/6*a-5/6*b-2/3*c+5/12*d+11/24*b*a^2+2/3*d*a^2+1/6*(-a+b-d-b*a^2)*a^2+1/3*b^2*a-1/4*d*(b^2+a*(-a+b-d-b*a^2))+ 1/4*(-b-c-d+d*a^2)*a*b+3/8*(-b-c-d+d*a^2)*a^2+1/6*(-a+b-d-b*a^2)*a*b+1/12*(-1/2*a-1/2*b*a^2+1/2*b+1/2*c-1/2*d*a^2-1/2*(-a+b-d-b*a^2)*a^2-b^2*a)*a^2 ...
0 = 5/6*a+5/12*b+1/2*c+d+2/3*b*a^2 ....
0 = -1/2*a+2*d*a*b-7/6*b+7/12 ...
0 = 5/6*a-5/6*b-2/3*c+5/12*d+11/24*b*a^2 …
[the equations are quite long]
--------------

1) How to convert these burdensome equations into the right form of usual polynomials?

2) What are the MATLAB commands used to solve these painful equations? I tried "solve/fsolve" but they could not handle the job (symbolic:solve:warnmsg3','Explicit solution could not be found').

Thank you very much,

J77
ZZTus - in this situation, you should use a symbolic solver, like Maple

I'll come to the defense of MATHCAD.
I have been using Mathcad professionally for 20 years, and have done complex simulations in DSP and complex board simulations.
I have briefly used Maple V ( I thought it was very cumbersome at the time. Maybe they improved their interface ? ), and have to use Matlab a little lately ( The company I have been with for the past 4 years is officially "matlab" , but they let me use Mathcad).
Around me everybody is a matlab user, except 3 hardcore Mathcad users. From my own experience, the people are using matlab because in my field it is what they are used to from university, and they don't want to change ( I understand that ). I read somebody say that he still have to see something that he cannot do with Matlab, same for me with Mathcad... and I could argue that there are some design tasks that I can do faster with Matcad than my colleagues can do with matlab...
From everything that I have read, I retain one valid argument: Matlab is good because it is the standard... All the other arguments against Mathcad are obviously coming from people who never used Mathcad.
Mathcad is difficult to use ? Probably true for somebody who is very familiar with Matlab and is used to a given syntax. But in general completely false: That is Mathcad strength: More intuitive, no need to constantly refer to the documentation , drag and paste capability, more pleasant and easier to read formats etc...
Mathcad is bonified calculator: Nonsense. Of course it can be use as a calculator, But I can do complex simulations too, do good amount of Symbolic ( without having to pay extra for a separate module ), call Excel , Matlab or even a "C" function from within Mathcad.
I hear : Oh but Matlab can do matrices well... Who prevents you from doing the same in Mathcad ?
I have both mathcad and Matlab on my computer , I wrote some simple loops benchmark to test for speed... One to test log10 in a loop, one to test 4x4matrices multiplications, one to test fft. In each case matlab is quite slower.
Especially the log10 function in matlab that seemed to have been very poorly written in my matlab version...
Another nice thing: Mathcad is very interactive. If you have a long simulation Mathcad is smart enough to realize that if you only change the value of one single parameter anywhere in the page, it only needs to recalculate the functions and graphs dependent on that particular value... Saves lots of time sometime....
And Mathcad is cheaper comparatively than other programs...